我已将 JavaScript 函数绑定到表单的提交按钮,导致表单通过 xhrPost 请求(使用 Dojo)提交。但是,当用户在 Safari 中点击“Enter”时,表单会以通常的方式提交。
有什么方法可以阻止 Safari 在按下 Enter 键时提交表单?我可以以某种方式将我的 JavaScript 函数绑定到 enter 键吗?
提前非常感谢!
——安德烈亚斯
我已将 JavaScript 函数绑定到表单的提交按钮,导致表单通过 xhrPost 请求(使用 Dojo)提交。但是,当用户在 Safari 中点击“Enter”时,表单会以通常的方式提交。
有什么方法可以阻止 Safari 在按下 Enter 键时提交表单?我可以以某种方式将我的 JavaScript 函数绑定到 enter 键吗?
提前非常感谢!
——安德烈亚斯
false
您是否从处理程序返回值onsubmit
?这就是阻止正常表单提交所需的全部内容(前提是启用了 Javascript)。
这可能是由于提交处理程序代码中的错误 - 如果那里有异常,Safari 将照常提交表单。检查 Safari 控制台是否显示任何错误。
当<input>
元素在<form>
标签之外时,我也遇到过类似的问题。仔细检查一下,也许。
我解决这个问题的方法是禁用“Enter”键。不是很优雅,仍在寻找更好的方法。
$('form').keypress(function (e){ if((e.which==13){ return false; }});