jquery提交处理程序无法正常工作

时间:2015-09-05 14:07:08

标签: jquery submit handler

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

这是不起作用的代码

jsfiddle.net/ge5575nj/2 /

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

你走了。不需要将event.preventDefault与处理程序一起使用。如果你想阻止你的处理程序提交return false,你想继续返回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>

答案 1 :(得分:0)

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

$(document).ready(function() {

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