昨天得到了一些很好的帮助,并有一个后续问题/问题。关于HTML表单,当用户单击onSubmit =“return outer()”时,函数“outer”仅返回其中一个函数(checkname或checkpostal)。如何检查这两个功能? Noob问题我很确定,但我想理解,而不仅仅是从那里过多的表格复制粘贴。
var postalconfig = /^\D{1}\d{1}\D{1}\-?\d{1}\D{1}\d{1}$/;
function outer() {
function checkname(f_name) {
if (document.myform.f_name.value == "") {
alert("Enter your First Name");
return false;
} else {
alert("valid First Name");
return true;
}
}
return checkname();
function checkpostal(postal_code) {
if (postalconfig.test(document.myform.postal_code.value)) {
alert("VALID postal");
return true;
} else {
alert("INVALID postal");
return false;
}
}
return checkpostal();
} //end of outer
HTML:
<form name="myform" action="index.php" onSubmit="return outer();" method="post">
First Name
<input name="f_name" type="text" />
<br />
Telephone
<input name="telephone" type="text" />
<br />
<input name="Submit" type="submit" value="Submit Form" >
</form>
答案 0 :(得分:3)
返回时,函数outer()的执行会停止。
尝试这个单一的return语句:
return checkname() && checkpostal();
答案 1 :(得分:2)
当您写return checkname();
时,您的功能会立即停止
无法返回值,然后运行函数的其余部分。
相反,您需要调用两个内部函数,然后使用逻辑运算符将它们组合成一个布尔值 例如:
return checkname() && checkpostal();
答案 2 :(得分:0)
只是做一些事情或者回报或者最后做。
return checkName()&amp;&amp; checkPostal();
答案 3 :(得分:0)
您所做的事情在技术上是有效的,但我可以建议您单独定义这些功能。使用外部只是为了调用它们并检查它们的值,所以你有:
function outer(){
return (checkname() && checkpostal());
}
function checkname(){
// Code for checkname
}
function checkpostal(){
// Code for checkpostal
}