0
関数validate()は、falseまたはtrueを返すと予想されたとき、未定義を返しています。なぜこうなった?今私はstackoverflowはほとんどのコードですので、私はこの質問を投稿させませんので、これを入力しています。なぜ私の関数は未定義に戻りますか?
function validate() {
var isFormValid = false;
var emailValid = false;
var inputValid = false;
var passValid = true;
//VALIDATE EMAIL
var emailInput = $("input[type='email']");
$.get("/checkEmail", {
email: emailInput.val()
}, function(data) {
if (data.userExists) {
emailInput.removeClass("valid");
emailInput.addClass("invalid");
return false;
} else {
emailValid = true;
emailInput.removeClass("invalid");
emailInput.addClass("valid");
}
if (passValid && emailValid && inputValid) {
return true;
}
});
//ADD VALID CLASS TO INPUTS
var inputs = $("input,textarea");
inputs.each(function() {
if ($(this).val() != "") {
inputValid = true;
$(this).removeClass("invalid");
$(this).addClass("valid");
} else {
$(this).removeClass("valid");
$(this).addClass("invalid");
return false;
}
if (passValid && emailValid && inputValid) {
return true;
}
});
//VADIDATE PASSWORD
var pass = $("input[name='password']");
var repass = $("input[name='repassword']");
if (pass.val() != repass.val()) {
passValid = false;
repass.removeClass("valid");
repass.addClass("invalid");
return false;
}
}
$(document).ready(function() {
$("#registerForm").submit(function(event) {
console.log(validate());
if (!validate()) {
event.preventDefault();
}
});
});
で
.then()
から返され、何も明示的に返されundefined' 'ので返されません。また、非同期呼び出しから戻ることはできません。 – Tusharどうすればそれを解決できますか? – leodaher
https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call?rq=1 – Tushar