2015-02-06 146 views
0

我正在使用asp.net MVC 5并试图在提交时验证表单。一切工作正常,直到我添加下面的代码行来验证表单使用Ajax调用。验证表单阻止表单提交

$('#signupform').validate({ 
    submitHandler: function (form) {    
     $.ajax({ 
      type: 'POST', 
      data: JSON.stringify({ type: "WhatsNew", code: $('#PrimaryCode').val() }), 
      url: '@Url.Action("CheckCode", "Home")', 
      dataType: 'json', 
      contentType: 'application/json' 
     }) 
     .done(function (response) { 
      if (response == 'success') { 

       alert('success'); 
      } 
      else { 
       alert('failed'); 
      } 
     }); 
     return false; // required to block normal submit since you used ajax 
    } 
}); 

上面的代码只是阻止提交表单。

+0

您使用的是'不显眼,validation'脚本?如果是这样,它已经调用'.validate()'方法,所以你不能再次调用它......它只是被忽略。 – Sparky 2015-02-06 15:36:02

回答

0

您阻止提交return false;为了ajax验证表单,但是表单在验证成功后没有提交。

.done()内添加表单提交触发器;

if (response == 'success') {  
    // since validation is success, submit form here (e.g. YourForm.submit()) 
} 
+0

我试着把$('#signupform')。submit();在成功块内,但仍然不会发生表单提交。 – 2015-02-06 11:51:17