我有许多用Javascript编写的函数,例如userName()
,password()
等。但是在提交表单时,我只有一个函数return formValidator();
。
我希望函数调用所有其他函数并检查它们是否返回false。如果它们都是真的,它应该返回true,否则它应该返回false。
function userName(){
var x=document.forms["signupform"]["firstname"].value;
if(x=="" ||x==null){
document.getElementById("firstname").style.border="1px solid #F50A0A";
document.getElementById("firstname").style.boxShadow="2px 2px 5px #F50A0A";
return false;
}else {return true;}
}
function password(){
var z=document.forms["signupform"]["password"].value;
if(z=="" ||z==null){
document.getElementById("password").style.border="1px solid #F50A0A";
document.getElementById("password").style.boxShadow="2px 2px 5px #F50A0A";
return false;
}else {return true;}
}
答案 0 :(得分:6)
您可以使用&&
运算符调用每个函数,以指示每个函数必须返回评估为true
的内容。如果其中任何一个返回评估为false
的内容,则整个语句将评估为false
:
function formValidator() {
return userName() && password() && somethingElse() && etc();
}
答案 1 :(得分:1)
var validators = [userName, password, ...];
function formValidator() {
return validators.every(function(fn){return fn();});
}
或只使用AND operator:
function formValidator() {
return userName() && password() && ...;
}
答案 2 :(得分:0)
应该如此简单:
function formValidator()
{
var username = userName();
var password = password();
return username && password; // or just return userName() && password();
}