小编典典

jQuery的禁用形式提交输入

javascript

我的页面中似乎没有以下javascript,但无法正常运行。

$('form').bind("keypress", function(e) {
  if (e.keyCode == 13) {               
    e.preventDefault();
    return false;
  }
});

我想在输入时禁用提交表单,或者更好的是,将其称为ajax表单提交。两种解决方案都可以接受,但是我上面包含的代码不会阻止表单的提交。


阅读 381

收藏
2020-05-01

共1个答案

小编典典

如果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事件添加到表单也更安全。通过将事件仅绑定到“名称”表单,而仅绑定到表单ID,也行不通(了吗?)。因此,我通过适当地更改代码示例使这一点更加明显。

编辑3:更改bind()on()

2020-05-01