2015-09-05 2 views
0

Я пытаюсь отправить форму, используя функцию jquery submit. Когда я отправляю форму без обработчика, все работает. Функция отправки с обработчиком вообще не отправляется. Также он не вызывает код обработчика.jquery submit обработчик не работает

Это код, который не работает

jsfiddle.net/ge5575nj/2/

Любая помощь будет оценена

ответ

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'); 
    }); 
}); 
0

Здесь вы идете. Нет необходимости использовать event.preventDefault с обработчиком. Если вы хотите запретить отправке false 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>