javascript - 表单提交时页面刷新(vanilla javascript)?

标签 javascript html forms form-submit page-refresh

我正在学习 Javascript...慢慢地...并尝试用一个小计算器测试我的知识...

HTML:

<form id="calculator" onSubmit="multiply()">
<input type="number" id="first">
*
<input type="number" id="second">
<input type="submit"> = <span id="answer"></span>
</form>

Javascript:

function multiply() {
    var x = document.getElementById("first").value;
    var y = document.getElementById("second").value;
    var z = x * y;
    document.getElementById("answer").innerHTML = z;
}

我遇到但不知道的问题是为什么在表单提交/按钮单击/返回键上页面会刷新?我究竟做错了什么?简单的 Javascript 中的答案是什么?我知道计算器在一定程度上可以工作,因为答案在刷新之前会在页面上闪烁,但它确实如此。为什么?

(我知道这个问题之前已经被问过,但我找不到简单的 Javascript 答案和/或我能理解的解释)。

最佳答案

在方法中使用return false并在提交时修改以返回multiply()。 这是脚本

function multiply() {
  var x = document.getElementById("first").value;
  var y = document.getElementById("second").value;
  var z = x * y;
  document.getElementById("answer").innerHTML = z;
  return (false);
}

这是修改后的 HTML

<form id="calculator" onSubmit="return multiply()" method="post">
  <input type="number" id="first"> *
  <input type="number" id="second">
  <input type="submit"> = <span id="answer"></span>
</form>

这是 jsfiddle - https://jsfiddle.net/anuraj_p/sjvvod8q/

关于javascript - 表单提交时页面刷新(vanilla javascript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613043/

相关文章:

javascript - 在哪里记住 onSelect 所需的值

php - 我的 php 表单没有传递数据,因为我已经实现了自动建议

javascript - ES6 GroupBy 2个或更多

javascript - Adobe Acrobat app.alert()(阿拉伯语)

javascript - 在highcharts ng中动态加载数据

javascript - 根据树结构从 id 中检索值

javascript - 阻止 javascript 不起作用

html - 在twilio mp3录制URL上进行范围请求时,将接受范围设置为无

javascript - 如何覆盖标准浏览器打印并默认打印 iframe

python - 如何检测所有用于在特定字段的表单中输入字母的框?