私はこれを行うための最良の方法を探し続けてきましたが、決定的な答えを思いつくことはできません
データベースに既に存在するかどうかを確認するphpスクリプトに値を投稿して、フォームを検証しています。検証する必要があるフィールドがいくつかありますが、そのうちの 1 つは電子メールです。
次の基本的なコードが配置されています
jQuery(document).ready(function(){
jQuery("#signup_submit").click(function(){
var u_email = jQuery('#signup_email').val();
var email_check = 0;
var email_checked = "no";
if (jQuery('#signup_email').val()) {
jQuery.post("/check-username-email",{ user_email:jQuery('#signup_email').val() } ,function(data){
//if email not avaiable
if(data == 0) {
email_checked = "yes";
email_check = 0;
alert(email_check + " 1");
}
//if email is not vaild
else if(data == 2){
email_checked = "yes";
email_check = 0;
alert(email_check+ " 2");
}else{
email_checked = "yes";
email_check = 1;
alert(email_check + " 3");
}
});
}else{
email_checked = "yes";
email_check = 0;
alert(email_check + " 4");
}
// IN NEED THIS NEXT BIT TOW WAIT UNTIL THE PREVIOUS SECTION HAS FINISHED BEFORE EXECUTING
if (email_checked=="yes"){
if (email_check==1){
alert("ok");
}else{
alert("notok");
}
}else{
alert("email not checked");
}
//jQuery("#signup_form_standalone").submit()
});
});
私の問題は、最初の関数が検証される前に、一番下の if ステートメントが実行されていることです。
jQuery.when と callbacks() について読んで、試してみましたが、必要に応じて動作させることができません。
私は何を間違っていますか?私がやろうとしていることを達成するための簡単な方法が必要ですが、それが何であるかはわかりません:)過去にアニメーションとの整列を解除するときにキューとコールバックを使用しましたが、これらは適用されないようですここも同じ。
乾杯。