为啥我不能使用 onsubmit 来更改 innerHTML?
Posted
技术标签:
【中文标题】为啥我不能使用 onsubmit 来更改 innerHTML?【英文标题】:Why can't I use onsubmit to change innerHTML?为什么我不能使用 onsubmit 来更改 innerHTML? 【发布时间】:2011-07-01 21:06:04 【问题描述】:我需要在英语/氨基酸代码翻译器中使用表单域。下面的代码被简化以显示我遇到的问题。我想用 javascript 函数更改一些文本。
如果我使用类型为 button 的输入,onclick 就可以了。
表单中带有onsubmit 的submit 按钮会在瞬间更改文本,然后又变回来。我需要为我的翻译程序使用一个表格,我怎样才能使它工作?
额外功劳:为什么它会随着 onsubmit 瞬间改变?
<html>
<head>
<script type="text/javascript">
function changeTo(text)
document.getElementById("p1").innerHTML=text;
</script>
</head>
<body>
<h1 style="text-align:center;">Change text in an element</h1>
<!--
<form onsubmit="changeTo('Hello World');">
<input type="submit" />
</form>
-->
<input type="button" onclick="changeTo('Hello World');" />
<p id="p1">text</p>
</body>
</html>
【问题讨论】:
【参考方案1】:由于表单正在提交,因此将其改回。它发布到同一页面,如果您在本地计算机上,它可能会很快您不会注意到。试试:
<form onsubmit="changeTo('Hello World');return false;">
<input type="submit" />
</form>
最后返回 false 将停止提交过程。
【讨论】:
以上是关于为啥我不能使用 onsubmit 来更改 innerHTML?的主要内容,如果未能解决你的问题,请参考以下文章
在 TextField() 中为啥我们使用“onSubmitted:”语法?
ASP中,onsubmit该如何使用?为啥我设置后,form表单中要执行的onsubmit没效果呢?
为啥我不能通过更改“高度”值来调整浏览器上的 Onlyoffice 高度