2012-04-04 5 views
0

Моя проблема заключается в проверке моей формы с помощью JQuery. Моя проверка работоспособна только с функцией validate, но затем я добавил параметр submit, и проверка не выполняется. Я хотел бы подтвердить свою форму, а затем выполнить submit.Проверка JQuery не работает. JQuery - Javascript

$(document).ready(function() { 
    $('#ReqCreateForm').validate({ 
     invalidHandler: function (e, validator) { 
      var errors = validator.numberOfInvalids(); 
      if (errors) { 
       var message = errors == 1 
       ? 'Missing 1 field' 
       : 'Missing fields'; 
       $("div.error span").html(message); 
       $("div.error").show(); 
      } else { 
       $("div.error").hide(); 
      } 
     }, 
     onkeyup: false, 
     highlight: function (element) { 
      $(element).addClass('error'); 
     }, unhighlight: function (element) { 
      $(element).removeClass('error'); 
     } 
    }); 

    $('#ReqCreateForm').submit(function() { 
     $.ajax({ 
      url: this.action, 
      type: this.method, 
      data: $(this).serialize(), 
      success: function (result) { 
       alert("All Great!"); 
      }, 
      error: function (jqXhr, textStatus, errorThrown) { 
       alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')"); 
      } 
     }); 
     return false; 
    }); 
}); 

Спасибо в продвинутом виде.

Решение:

Решение было очень просто. Добавил следующий код в мой вариант отправки до $.ajax.

if (!$(this).valid()) { 
     return false; 
    } 

ответ

1

Вы должны вызвать действительную функцию на обработчик щелчка кнопки отправки так:

if($('#ReqCreateForm').valid()) 
{ 
    //then do your thing 
} 
+0

Ваш ответ покажет мне дорогу. Спасибо. –

0

Я использую this плагин для завершения заполнения формы с помощью Ajax. В нем есть событие, называемое onbeforesubmit, где вы можете вызывать проверки без проблем. Может быть, вы хотите попробовать. В вашем случае вам нужно поймать событие перед отправкой данных на вызов ajax, чтобы проверить его (если вы не хотите использовать предложенный плагин)

+1

Спасибо за ваш ответ. Я нашел простой способ сделать это. Приветствия. –

Смежные вопросы