1

我的页面上有几个输入字段文本:

<input type="text">

当我在其中一些中按ENTER时提交了表单,这是我不想要的。什么会导致这种行为?

我三重检查,我没有提交按钮(实际上我根本没有任何按钮)

4

2 回答 2

3

您可以在 HTML 页面的 head 部分中使用一些 Javascript 来禁用在输入字段中单击输入时提交:

    <script type="text/javascript"> 

       function stopRKey(evt) { 
          var evt = (evt) ? evt : ((event) ? event : null); 
          var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
          if ((evt.keyCode == 13) && (node.type=="text"))  {return false;} 
       } 

       document.onkeypress = stopRKey; 

     </script>
于 2013-05-27T21:31:44.277 回答
1

您可能通过ajax阻止默认浏览器行为的调用提交了一些表单。这就是为什么forms当您点击enter.

为确保您的所有表单在按下 enter 时都不会提交,您可以将自定义函数绑定到所有表单,以forms检测何时enter按下键。在此功能中,您可以阻止默认浏览器行为。

$('form').keydown(function(e){
  if(e.keyCode === 13) {
    e.preventDefault();
    return false;
  }
});

示例小提琴在这里

于 2013-05-27T21:34:34.207 回答