下面的函数验证我的表单,其中每个变量调用一个函数以确保该字段已被填写。如果未填写该字段,则该函数返回FALSE,因此该变量为FALSE。我想知道如果所有变量都返回TRUE,我怎么能使这个函数返回TRUE。
现在它因为最后一行而每次都返回FALSE。谢谢!
function validateform(){
var namevalid = validatename();
var entreevalid = validateentree();
var fillingvalid = validatefilling();
var ricevalid = validaterice();
var beansvalid = validatebeans();
var cheesevalid = validatecheese();
return false;
}
答案 0 :(得分:1)
function validateform(){
var namevalid = validatename(),
entreevalid = validateentree(),
fillingvalid = validatefilling(),
ricevalid = validaterice(),
beansvalid = validatebeans(),
cheesevalid = validatecheese();
return (namevalid && entreevalid && fillingvalid &&
ricevalid && beansvalid && cheesevalid);
}
答案 1 :(得分:0)
简单。改变这个:
return false;
对此:
return (namevalid && entreevalid && fillingvalid && ricevalid && beansvalid && cheesevalid);
答案 2 :(得分:0)
比为每个支票创建变量的版本更简洁:
function validateform(){
return (validatename() && validateentree() && validatefilling()
&& validaterice() && validatebeans() && validatecheese());
}
答案 3 :(得分:0)
你可以完全摆脱局部变量:
function validateform() {
return validatename() && validateentree() &&
validatefilling() && validaterice() &&
validatebeans() && validatecheese();
}
好处是,如果之前返回false,则不会调用后续函数,因此整个代码更加优化。
答案 4 :(得分:0)
简短版本:
return (validatename() && validateentree() && validatefilling() &&
validaterice() && validatebeans() && validatecheese());