Javascript 其他else if语句未执行
问题:执行了第一个条件语句else if,但未执行下一个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 == ""){
$(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根据需要更新我的答案。