Javascript 其他else if语句未执行

Javascript 其他else if语句未执行,javascript,Javascript,问题:执行了第一个条件语句else if,但未执行下一个else if语句。如果用户名和密码都为空,则应执行此操作。我错过了什么 $(document).ready(function(){ $("#submit").click(function(e){ var username = $("#username").val(); var password = $("#password").val(); if(username == ""){

问题:执行了第一个条件语句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;
    });
});

如果,如果,如果,如果,如果。。在这个层次结构中<代码>任何一个且只有一个块将执行。。如果您的意图是执行第二个,否则如果。。如果

因此,您的代码应该如下所示

    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!");
        }
     }

您必须将包含用户名和密码的条件放在其他条件之前。

如果它包含在if语句中,则不会尝试下一个else-if,因此如果它执行第一个else-if,则不会检查下一个else-if。 你需要这样做

    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
    }

如果if/else的任何部分为true,则跳过其余部分。操作顺序。把你想检查的最具体的案例放在不太具体的案例之前。我已经试过了。如果全部为空,它将首先显示“需要帐户id”,然后显示“需要所有字段”。如果用户名和密码为空,请转至“所需信息的所有字段”。@dumdumdum根据需要更新我的答案。