以下是我寫的一個小小的jQuery代碼,用於檢查數據庫中是否存在用戶名和電子郵件。如果他們這樣做,我會返回false以防止提交表單。Javascript(jQuery)回調範圍問題
我計劃的方式就是這樣。 在其他東西有效後提交。我使用ajax請求來檢查用戶名是否存在。如果是這樣,那麼以同樣的方式檢查電子郵件。
這是問題所在。我不能在ajax回調中設置everythingIsOK。所以,如果一切正常,我不能返回true。
任何想法?
$(loginForm).submit(function(){
var = everythingIsOK = false;
if((loginForm).valid()){
$.get("/ajax/usernameAvailable", {username: $("#username").val()}, function(data){
if(data.available){
$.get("/ajax/emailAvailable", {email: $("#email").val()}, function(data){
if(data.available){
everythingIsOK = true;
return true;
}else{
$("#notAvailable").html("Email already exists.").show().fadeOut(8000);
return false;
}
}, "json");
}else{
$("#notAvailable").html("This is username already exist.").show().fadeOut(8000);
}
}, "json");
}
return everythingIsOK;
});
是的......這更有意義。它的工作原理。謝謝! – Sinan 2010-11-09 14:26:25
@Sinan - 歡迎! – 2010-11-09 14:27:22