其他if语句未执行

时间:2016-03-30 18:29:56

标签: javascript

问题:第一个条件语句是否执行了,但是没有执行下一个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;
    });
});

3 个答案:

答案 0 :(得分:1)

if,else if,else if,else ..在此层次结构中。 Any one and only one block will execute ..如果你的目的是执行第二个if,那么......如果......

所以你的代码应该如下所示。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果它进入if语句,它将不会尝试使用下一个else,所以如果它执行第一个if,它将不会检查下一个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
    }