我知道以前有人问过这个问题,但我找不到适合我情况的满意答案。所以我再问一次。
我有一个带有 2 个文本框和一个提交按钮的简单表单。用户在任一文本框中输入文本后,他们不应该能够通过 Enter 键提交,只有提交按钮应该允许他们提交。我认为捕获回车键并从 onChange 事件处理程序返回 false 可以解决问题,但显然不是,这仍然会导致表单提交……
function doNotSubmit(element) {
alert("I told you not to, why did you do it?");
return false;
}
</script>
<form id="myForm" action="MyBackEnd.aspx" method="post">
<table>
<tbody>
<tr>
<td>
Joe: <input id="JoeText" type="text" onChange="doNotSubmit(this)">
</td>
<td>
Schmoe: <input id="SchmoeText" type="text" onChange="doNotSubmit(this)" >
</td>
</tr>
</tbody>
</table>
<input type=submit>
我在 Chrome 和 FF(最新版本)上进行了测试。
你能告诉我如何防止表单提交吗?
谢谢。
原文由 AbuMariam 发布,翻译遵循 CC BY-SA 4.0 许可协议
搭载@Dasein 的 anwser 你想阻止默认行为而不是停止传播(即返回 false):