可能性の重複:ここ
How to prevent form from being submitted?フォームの送信を禁止する - jquery?
は私のjqueryのコードは次のとおりです。
$(document).ready(function() {
$("#register").submit(function (event) {
var email = $('#email-agency').val();
/* EMAIL VALIDATION */
if (email == ""){
$('#email-agency').css({"border-color":"#3399ff"});
$('#email-err').html("You must enter your e-mail address.").removeClass("success_msg").addClass("error_msg");
}else{
$('#email-err').html("<img src='http://www.site.com/folder/ajax-loader.gif' /> Validating the e-mail address...").removeClass("success_msg").removeClass("error_msg");
$.get('http://www.site.com/folder/email.php',{id: email}, function(result){
if (result == "invalid format"){
$('#email-agency').css({"border-color":"#3399ff"});
$('#email-err').html(email + " is not a valid e-mail address.").removeClass("success_msg").addClass("error_msg");
event.preventDefault();
return false;
}else if (result == "taken"){
$('#email-agency').css({"border-color":"#3399ff"});
$('#email-err').html("I'm sorry, this e-mail address is already taken.").removeClass("success_msg").addClass("error_msg");
event.preventDefault();
return false;
}else if (result == "available"){
$('#email-agency').css({"border-color":"#1f6d21"});
$('#email-err').html("Congratulations, this e-mail address is available.").removeClass("error_msg").addClass("success_msg");
return true;
}
})
}
});
何らかの理由で、メールアドレスが(result == "taken")
取られている場合 - まだフォーム提出する。
私は間違っていますか?電子メールアドレスを取得した場合、フォームを送信しないようにするにはどうすればよいですか?
は、あなたのAJAX呼び出しがAJAXの戻り値に変数を設定することはできませんまた、あなた非同期(async)作られているので、あなたが$("#register").submit(function()
の代わりに$.get(function()
からfalse
を戻ってきているためです
私はメインの送信関数から返すにはどうしますか? – Latox
'return valid;'関数の最後に – PeeHaa
なぜdownvoteですか? – PeeHaa