【问题标题】:Javascript, clear form after press OK in confirm window. But keeps form data if confirm is cancelledJavascript,在确认窗口中按 OK 后清除表格。但如果取消确认,则保留表单数据
【发布时间】:2015-11-03 03:27:16
【问题描述】:

为作业编写程序,但在我的书中没有任何地方对这种情况有帮助。

在用户输入饮料订单信息后,他们点击了一个“订单”按钮,该按钮调用一个函数,该函数计算并显示一个包含所需信息的确认窗口

如果用户在确认消息中单击“确定”,则应显示一条警报消息,通知用户已下订单并应清除表单,需要一个功能

如果用户在确认消息中单击“取消”,则应显示一条警报消息,通知用户订单已取消。表单仍应包含用户输入的所有值。

我的问题是,当在确认窗口中选择“确定”时,我不知道重置表单需要什么。但如果选择了“取消”,则仍输入值。

这是目前的代码

Javascript(只输入确认部分)

                   if (window.confirm("Fruit: " + document.drinkList.numFruit.value + ", Total: $" + totalFruit + ".00 \n"
                     + "Water: " + document.drinkList.numWater.value + ", Total: $" + totalWater + ".00 \n"
                     + "Coffee: " + document.drinkList.numCoffee.value + ", Total: $" + totalCoffee + ".00 \n"
                     + "Coke: " + document.drinkList.numCoke.value + ", Total: $" + totalCoke + ".00 \n"
                     + "Tea: " + document.drinkList.numTea.value + ", Total: $" + totalTea + ".00 \n"
                     + "Ice: " + document.drinkList.numIce.value + "\n"
                     + "Cream: " + document.drinkList.numCream.value + "\n"
                     + "Sugar: " + document.drinkList.numSugar.value + "\n"
                     + "Pinneapple Juice: " + document.drinkList.numPinn.value + "\n"
                     + "Lemon Juice: " + document.drinkList.numLemon.value + "\n\n"
                     + "Overall Total: " + (totalCoffee + totalCoke + totalFruit + totalTea + totalWater) + ".00 \n\n"
                     + "Confirm order?"))
            window.alert("The order was submitted!");

        else
            window.alert("The order was cancelled!");

HTML

        <button type="button"value="Order" onclick="calcAll()">

【问题讨论】:

  • 试试document.getElementById('formId').reset()
  • 我怀疑您的表单名称是 drinkList,所以 document.drinkList.reset() 应该可以完成这项工作。
  • javascript代码是calcAll函数的一部分吗?
  • 感谢所有参与的人,真的帮了大忙!

标签: javascript html forms


【解决方案1】:

正如 cmets 中所指出的,您可以使用纯 javascript 并执行以下操作:

document.getElementById("form").reset();

【讨论】:

  • 如果您的问题已解决,请选择一个答案,以便此问题显示为已解决。
  • “jQuery”部分没有使用任何 jQuery。为什么你认为它甚至值得一提(即 jQuery)?
  • 你不认为你的答案不过是 cmetsctrl+c->ctrl+v 吗? document.drinkList.reset(); 不是 jQuery!
  • 针对上述情况,我想添加一个答案让他接受,这样问题就会在搜索时显示为已回答。另外,正如我在回答中提到的,它指出这已经在 cmets 中指出了! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-29
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多