问题描述

我正在寻找最完整的方式来创建一个没有提交按钮的 HTML 表单。这本身很简单,但是当 submission-like 的事情完成时 (例如,在文本字段中打 Enter),我也需要停止重新加载表单。

最佳解决方案

将一个 onsubmit 处理程序添加到表单中 (通过 plain js 或 jquery $()submit(fn)),并返回 false,除非您的具体条件得到满足。

除非您不希望表单提交,否则在这种情况下,为什么不在表单元素上省略’action’ 属性?

次佳解决方案

您将要将 action="javascript:void(0);"包含在表单中,以防止页面重新加载并维护 HTML 标准。

第三种解决方案

只需将此事件添加到您的文本字段。它将阻止按 Enter 键进行提交,您可以根据需要自由添加提交按钮或调用 form.submit():

onKeyPress="if (event.which == 13) return false;"

例如:

<input id="txt" type="text" onKeyPress="if (event.which == 13) return false;"></input>

第四种方案

当你以表单形式输入表单的自然行为是被提交时,为了阻止这种不自然的行为,你必须防止它提交 (默认行为),使用 jquery:

$("#yourFormId").on("submit",function(event){event.preventDefault()})

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛