【发布时间】:2013-12-19 22:02:14
【问题描述】:
我有以下 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 语句,它会按预期工作并使用 alert() 返回 false。
有什么想法吗?
【问题讨论】:
-
检查您的错误控制台。
-
检查您的控制台。此外,(1)
== true是多余的;删除它,并且 (2) 如果您返回,则不需要else。
标签: javascript