2013-11-01 38 views
-1

我爲我的表單使用驗證插件,但在標準驗證之後,我想添加自己的方法,其中一個是檢查電子郵件是否已存在的Ajax函數。選擇提交驗證方法的順序

這兩個工作,但如果我例如輸入一個電子郵件它執行Ajax方法,我想要把重定向。

問題是,即使不是所有的字段都被填充,它總是重定向。它必須首先檢查al標準驗證,然後如果一切正常,則執行ajax,然後提交如何執行此操作?

$("#registration-form").submit(function(event) { 

//vars 
var contactemail = $('#contactemail').val(); 
var contactpassword = $('#contactpassword').val(); 

//Global validation 
$.validate({ 
     onError : function() { 
     //alert('Validation failed'); 
     return false; 
    } 
}); 

//If User create - check if user exists 
if($('#contactemail').length && $('#contactemail').val().length && $('#contactpassword').length && $('#contactpassword').val().length) 
{ 
    //Check if can create user 
    $.post(jssitebaseUrl+'/ajaxFile.php',{'contactemail':contactemail,'action':'checkOrderEmailId'}, function(output){ 
     //alert(output); 
     if(output == 'UserExist' && contactpassword !=""){ 
      $("#errors").show(); 
      $('#errors').html('<p class="i">Can not create account</p>'); 
      $('html, body').animate({scrollTop:0}, 'slow'); 
      return false; 
     } 
     else if(output == 'CanCreateAccount' || (output == 'UserExist' && contactpassword =="")){ 
      alert("Maak een guest order aan") 

//redirect... 
      document.checkoutform.submit(); 
     } 
    }); 
} 
event.preventDefault(); 
}); 
+0

使用'onSuccess'回調與阿賈克斯 – charlietfl

回答

0

嘗試發佈前檢查,如果形式是有效的:

if ($("#formId").valid()) { 
    // ajax call 

} 
+0

IM不使用驗證插件提交,,但是這一個HTTP:// formvalidator。淨/#配置 – r2get