HTML并在输入文本中提交

时间:2013-05-27 21:27:02

标签: html

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

<input type="text">

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

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

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

您可能正在通过ajax调用提交一些表单,以防止默认的浏览器行为。这就是为什么当您点击forms时,您的某些enter未提交。

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

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

示例Fiddle here