我的页面中有以下 javascript,但似乎无法正常工作。
$('form').bind("keypress", function(e) {
if (e.keyCode == 13) {
e.preventDefault();
return false;
}
});
我想禁用在输入时提交表单,或者更好的是,调用我的 ajax 表单提交。任何一种解决方案都是可以接受的,但我上面包含的代码不会阻止表单提交。
最佳答案
如果 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 事件添加到表单也更安全。此外,仅将事件绑定(bind)到表单“名称”但仅绑定(bind)到表单 ID,它也不起作用(不再?)。因此,我通过适当更改代码示例使这一点更加明显。
编辑 3:将 bind()
更改为 on()
关于javascript - jquery禁用表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11235622/