2013-06-24 23 views
0

這是我EMAIL_ADDRESS驗證驗證後如何激活一個函數?

$().ready(function() { 
$('#email_settings').validate({ 
rules: { 
    email_address: { required:true, email:true, minlength:7 } 
} 
}); 
}); 

我需要低於上述確認後查詢調用提交頁面之前

$.post('../get_email_availability.php', 
    {eml_ad:$('#email_address').val()}, 
    function(data){ 
    if (data=='available'){} 
    else{} 
    }); 
+0

您是否使用了一些jQuery的驗證插件有用嗎? – Ygg

+0

只需在驗證選項中添加一個'submitHandler'回調函數即可。 http://jqueryvalidation.org/validate – CBroe

+0

更好的使用[$ .ajax()](http://api.jquery.com/jQuery.ajax/)它擁有你需要的一切 – TecHunter

回答

0

你可以嘗試:

if($('#email_settings').valid()) 
{ 
    $.post(...); 
} 
else return false; 
0

我已經實現了這個類似的功能。 我用「addMethod」函數來實現這個功能: jQuery.validator.addMethod(name,method[,message])

它可以添加一個自定義的驗證方法。在這種情況下,我們需要一個「電子郵件可用性」檢查器,它將檢查帶有數據庫的電子郵件。

你可以試試這個:

$.validator.addMethod("checkEmailUsed",function(value,element){ 
    var result=$.ajax({ 
     url:"../get_email_availability.php", 
     type:"POST", 
     async:false, 
     data: "eml_ad="+$('#email_address').val() 
    }).responseText; 
    if(result==="available"){ 
    return true //can be used 
    }else{ 
    return false; 
    } 
},"E-mail is not available."); 

而且不要忘了添加這個定製vaildation方法通過電子郵件發送的驗證規則。

$('#email_settings').validate({ 
    rules: { 
    email_address: { required:true, email:true, minlength:7, checkEmailUsed: true } 
    } 
}); 

我希望這將是對你