2016-03-30 15 views
-4

問題:最初の条件文else ifが実行されましたが、次のelse if文は実行されませんでした。ユーザー名とパスワードの両方が空の場合に実行する必要があります。私は何を逃したのですか?他のelse if文は実行されません

$(document).ready(function(){ 

    $("#submit").click(function(e){ 
     var username = $("#username").val(); 
     var password = $("#password").val(); 

     if(username == ""){ 
      alert("account id required"); 
     }else if(password == ""){ 
      alert("password required!"); 
     }else if((username == "" || username == null) && (password == "" || password == null)){ 
      alert("All fields of information is required!"); 
     }else{ 
      $.ajax({ 
       type: "POST", 
       url: "checklogin.php", 
       data: "username="+username+"&password="+password, 
       success:function(data){ 
        if(data == "success"){ 
         window.location.href="main.php"; 
        }else if(data == "unsuccess"){ 
         alert("Invalid account id/password"); 
         $("#username").val(''); 
         $("#password").val(''); 
        } 
       } 
      }); 
     } 
     return false; 
    }); 
}); 
+2

if/elseのいずれかの部分が真になると、残りの部分はスキップされます。 – j08691

+0

操作の順序。あまり具体的でないケースの前にチェックしたい最も具体的なケースを入れてください。 – scrappedcola

答えて

0

ユーザー名とパスワードの両方を含む条件を他の条件の前に置く必要があります。

+0

問題を解決したEl Peppeに感謝します。 :) – DumDumDummy

+0

よろしくお願いします。 –

1

if、else if、else if、else ..この階層内。 Any one and only one block will execute ..あなたの目的が2番目のelseを実行する場合は..場合はそれを作る...

あなたのコードは以下のようになるはずです。

if((username == "" || username == null) && (password == "" || password == null)){ 
     alert("All fields of information is required!"); 
    } 
    else{ 
     if(username == ""){ 
      alert("account id required"); 
     }else if(password == ""){ 
     alert("password required!"); 
     } 
    } 
+0

私はそれを試みました。すべてが空の場合は、最初に「アカウントIDが必要です」と表示され、「すべてのフィールドが必要です」と表示されます。ユーザー名とパスワードが空白の場合は、「必要な情報のすべてのフィールド」に進みます。 – DumDumDummy

+0

@DumDumDummy必要に応じて私の答えを更新しました。 –

0

if文の中に入ると、次のelseで試してみることはできません。最初のelse ifを実行すると、次のelseをチェックしません。 このようなことをする必要があります

if(!username && !password){ 
     alert("All fields of information is required!"); 
    }else if(!username){ 
     alert("account id required"); 
    }else if(!password){ 
     alert("password required!"); 
    }else{ 
     here the rest of your code 
    }