2013-03-05 3 views
1

Я пытаюсь проверить форму и отправить ее с помощью jquery. Но подчинение не получает. Я не знаю, что происходит не так.jquery validation and form submit

$('#save_vehicle').click(function(e){ 
      validate_form(e); 
}); 
// VALIDATION FUNCTION 
    function validate_form(e) { 
     if($("#manufacturer").val()=="select"){ 
      e.preventDefault(); 
      alert('Please Select Manufacturer'); 
      return false; 
     } else if($("#models").val()=="select") { 
      e.preventDefault(); 
      alert('Please Select Model'); 
      return false; 
     } else {   
      return true; 
      $('#frm_add').submit(); 
     } 
    } 

* Примечание: *save_vehicle является кнопку ВВЕСТИ идентификатор. frm_add - это идентификатор формы.

Может кто-то указать мою ошибку. Заранее заблаговременно

+0

shoulndt вы будете returngin правда после отправки? – smk

+0

Это происходит потому, что вы возвращаете true перед вызовом функции отправки. Просто удалите return true из условия else –

+0

Да. Это сработало. Но я смущен, почему «return true» создавал проблему? – Roger

ответ

1

попробуйте изменить:

else {   
    return true; 
    $('#frm_add').submit(); //will never be called as you returned already above 
} 

в

else {   
    $('#frm_add').submit(); 
} 
+0

Спасибо. Не могли бы вы объяснить, почему «return true» создавало проблему? – Roger

+0

@Roger «return» остановит JavaScript от выполнения остальной части скрипта, поэтому «return true»; будет избегать вашего запроса submit(). –

+0

Хорошо. Теперь я понимаю. Большое спасибо @Sudhir – Roger

2
else {  
     $('#frm_add').submit(); 
     } 

no need of return true.

@Roger, если вы используете оператор возврата anywhere..the исполнение должно не идет к следующей строке ..

+0

Спасибо. Это сработало. – Roger