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