2015-02-06 185 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