代码之家  ›  专栏  ›  技术社区  ›  zsharp

如何使用enter键禁用表单提交?

  •  5
  • zsharp  · 技术社区  · 14 年前

    我有一个js事件在enter键按下,工作正常。但在那之后,它还提交了一个带有提交按钮的表单。如何在上一次按键事件后阻止提交按钮获得焦点?

    编辑:我不希望提交按钮提交输入,只有点击。

    4 回复  |  直到 14 年前
        1
  •  8
  •   Kailas Mane    11 年前

    您可以使用以下java脚本来完成此任务:;

        <script type="text/javascript">
    
        function stopReloadKey(evt) {
          var evt = (evt) ? evt : ((event) ? event : null);
          var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
          if (evt.keyCode == 13)  {
              return false;
          }
        }
    
        document.onkeypress = stopReloadKey;
    
        </script> 
    

    或者使用Jquery,您可以通过,

    <script type="text/javascript">
            $(document).ready(function() {
               $("form").bind("keypress", function(e) {
                  if (e.keyCode == 13) {
                     return false;
                  }
               });
            });
    </script>
    
        2
  •  4
  •   nc3b    14 年前

    不确定我是否理解正确,但如果您试图阻止提交表单:

    附加onsubmit事件并从中返回false。

    <form onsubmit="submit_handler();"></form>
    [...]
    
    function submit_handler()
    {
        //do stuff
        return (false);
    }
    
        3
  •  2
  •   Jacob Mattison    14 年前

    通常,对“如何在我提交表单后阻止表单提交”类型的javascript问题的答案是“使javascript函数返回 false ".

        4
  •  0
  •   ariel    12 年前

    您需要重写它-这里有一个简短的示例代码(5行)如何执行 http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx