【发布时间】:2016-07-30 20:42:31
【问题描述】:
我在获取 html 页面的输入元素的值并将其打印在页面上的段落中时遇到了特定问题。
代码:
<!doctype html>
<html>
<head>
<script>
function TakeValue()
{
var xs = document.getElementById("text").value;
var p = document.getElementById("para");
p.textContent = String(xs);
document.body.appendChild(p);
}
</script>
</head>
<body>
<form onsubmit="TakeValue()" method="get" action="">
<input type="submit" name="submit" id="click">
<input type="number" name="value" id="text">
</form>
<p id="para">abs</p>
</body>
</html>
当我按下提交时,该段落的文本内容有一段时间发生了变化,但之后又回到了它的初始值。我希望该段落在按下提交后保持更改。
我知道这可以在不使用 html 表单的情况下完成,但我实际上想知道是否可以通过这种方式完成任务。
【问题讨论】:
-
表单正在提交,导致页面重新加载。您可以使用
onsubmit="TakeValue(); return false"取消提交,但如果您不打算以一种或另一种方式提交,那么使用表单是没有意义的。顺便说一句,你不需要使用String(),因为xs已经包含了一个字符串。 -
如果您没有将表单发布到 URL,请不要使用
action=""并且不要连接到onsubmit。相反,使用带有onclick处理程序的 -
还要确保你使用
<button type="button">,否则它会在表单中充当提交按钮。 -
哦,我明白了!非常感谢!
-
如果任何回复都回答了您的问题,请接受回复,以免其他人相信您的问题仍未得到解答。如果您仍有疑问,请详细说明,我们会尽力提供帮助。
标签: javascript html forms onsubmit