如何使用JavaScript更新/更改HTML内容并防止页面刷新?

3
我是一名脚本新手。我想用JavaScript更新HTML内容,但正如您所看到的那样,网页不断刷新。
我该如何防止页面刷新?
Javascript:
function showResult(form) {
var coba=form.willbeshown.value;
var coba2=coba+2;
document.getElementById("showresulthere").innerHTML=coba2;
}

HTML

<form>
<input type="text" name="willbeshown" value="">
<button onclick="showResult(this.form)">Ganti1</button>
</form>
<p id="showresulthere">Result will be shown here</p>
</body>
4个回答

2

您的按钮应该是

<button onclick="showResult(this.form); return false;">Ganti1</button>

Javascript

function showResult(form) {
  var coba=form.willbeshown.value;
  var coba2=coba+2;
  document.getElementById("showresulthere").innerHTML=coba2;
  return false; // prevent form submission with page load
}

演示


2
不要使用表单。您不需要向服务器提交任何表单数据。为了在浏览器中处理数据,您不需要表单。使用表单只会使事情变得更加复杂(尽管这些问题可以通过在

非常有帮助的解释,而且完美运行,非常感谢! :) 但是,'elem' 到底是什么意思呢? - vinc
在代码中,“elem”只是函数中的形式参数,可以被任何自由标识符替换。但是该参数的作用是它是表示HTML元素的对象。函数调用中对应的实际参数使用了一个通过其“id”值获取元素的方法。 - Jukka K. Korpela

0
其他人会解释如何使用jQuery,但这里将解释为什么它在您的原始代码中无法正常工作。

0
如果你定义了一个没有指定类型的 <button />,它会像一个 submit 按钮一样工作。只需要在按钮的标记中添加 type="button",表单就不会被提交。
<button type="button" onclick="showResult(this.form)">Ganti1</button>

通过这个改变,你将不再需要任何return false.preventDefault()的“变通方法”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接