jquery 提交处理程序不工作

jquery submit handler not working

我正在尝试使用 jquery 提交功能提交表单。当我在没有处理程序的情况下提交表单时,一切正常。带有处理程序的提交函数根本不提交。它也不会调用处理程序代码。

这是行不通的代码

jsfiddle.net/ge5575nj/2/

如有任何帮助,我们将不胜感激

给你。无需将 event.preventDefault 与处理程序一起使用。如果你想阻止处理程序提交 return false 并且你想继续 return true.

$(document).ready(function() {

  $(document).on('keydown', '#squery', function(e) {

    if (e.keyCode == 13) {

      /* with handler */
      $('#searchform').submit(function(event) {
        alert("hi");
        return true;
      });

      /* without handler */
      $('#searchform').submit()
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="POST" action="/search/" id="searchform">
  <input autocomplete="off" id="squery" type="text" name="q" class="form-control">
  <input name="qtype" id="searchType" hidden value="0">
</form>

您可以创建另一个函数来处理提交事件

$(document).ready(function() {

    $(document).on('keydown', '#squery', function(e) {
        if (e.keyCode == 13) {
             $('#searchform').submit()
        }
    });
    $('#searchform').on('submit',function(e){
        e.preventDefault();
        alert('Hi');
    });
});