我有以下javascript代码块用于快速表单验证:
if(IsEmail(email) == true && name.length > 0 && sport.length > 0) {
return true;
} else {
if(name.length < 1){
fields = fields.trim() + " Name, ";
}
if(sport.length < 1) {
fields = fields.trim() + " Sport, ";
}
if(!IsEmail(email)) {
fields = fields.trim() + " Email, ";
}
alert("The following fields are invalid or missing: " +fields.trim());
return false;
}
由于某种原因,else块的计算结果为true,或者它永远不会到达alert()并且不返回false。表格已提交。如果我删除if语句,它确实按预期工作,并返回false并带有alert()。
有什么想法吗?
答案 0 :(得分:0)
首先,如果使用 return 语句,则不需要 else 语句。因为它只是没用。
只有在我执行上面的代码时,才能执行 if 块。换句话说,如果声明是 true 。所以流量根本没有进入其他地方。一种可靠的方法是将警报作为if和else的第一行用于调试目的。