こんにちはみんな私の問題を解決するのを手伝ってください。実際、私はjavascriptを使用してフォームの電子メールフィールドを検証し、その電子メールが存在するかどうかを確認するためにajaxリクエストを投稿しようとしていますが、javascript関数はajax応答まで待機せず、毎回falseを返します。メールが存在しない場合はtrueを返したい...
$(document).ready(function(){
//global vars
var form = $("#signupForm");
var email = $("#email");
var email_error = $("#invalid");
//On blur
// userEmail.blur(validateEmail);
//On Submitting
form.submit(function(){
if(validateEmail()){
alert("submit true");
return true;
}else{
alert("submit false");
return false;
}
});
function validateEmail(){
//if it's NOT valid
alert("In email");
var a = $("#email").val();
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
if(email.val() == ""){
email_error.html("Please enter your email ");
return false;
}
//if it's valid email
else if(filter.test(a)==false){
email_error.html("Please enter Valid email address");
return false;
}
else if(filter.test(a)==true){alert("elseif");
var baseUrl = '<?= base_url() ?>';
$.ajax({
type: "POST",
url: baseUrl+"index.php/index/validateUserEmail",
data: "useremail="+$("#email").val(),
success: function(msg){
alert(msg);
if(msg == "1")
{
$("#tick_cross").fadeIn("slow").html('<img src="'+baseUrl+'images/cross.png" />');
$("#emailValidate").val("1");
email_error.html("This email-Id already exists!");
return false;
}
else
{
$("#tick_cross").fadeIn("slow").html('<img src="'+baseUrl+'images/tick.png" />');
$("#emailValidate").val("0");
email_error.html(" ");
alert("alok");
return true;
}
}
});
}
else{
email_error.html(" ");
return true;
}
}
});