用jquery禁用表单回车提交
用jquery禁用表单回车提交
我在页面中使用了以下JavaScript代码,但似乎不起作用。
$('form').bind("keypress", function(e) { if (e.keyCode == 13) { e.preventDefault(); return false; } });
我想禁用在回车键按下时提交表单,或者更好的方法是调用我的AJAX表单提交。任何一种解决方案都可以接受,但我包含的代码无法阻止表单提交。
admin 更改状态以发布 2023年5月24日
通常当你在输入元素上有焦点时,通过按下 Enter 来提交表单。
我们可以禁用表单内输入元素上的 Enter 键(代码 13
):
$('form input').on('keypress', function(e) { return e.which !== 13; });
如果 keyCode
没有被处理,捕捉 which
:
$('#formid').on('keyup keypress', function(e) { var keyCode = e.keyCode || e.which; if (keyCode === 13) { e.preventDefault(); return false; } });
编辑:错过了,最好使用 keyup
而不是 keypress
编辑2:在一些较新版本的 Firefox 中,表单提交没有被阻止,所以更安全的做法是将 keypress 事件添加到表单中。此外,它不再(或者说只能)将事件绑定到表单的 “name” 而是只能绑定到表单 id 上。因此,我通过相应更改代码示例来说明这一点。
编辑3:将 bind()
改为 on()