我有html在表单后运行javascript,
form name="mortgage" method="post" action=" "onsubmit="return completeFormValidation();">
用于验证的javascript代码,
mainFunction:
function completeFormValidation() {
return yearentry1();
return my_location();
} // End of completeFormValidation
主要的第一个功能:
function yearentry1(){
var yearval = document.mortgage.mortYear.value;
alert(yearval);
}
主要的第二个功能:
function my_location(){
var numradio = document.mortgage.propLocation.length;
var selected="";
for(var i=0; i < numradio; i++){
if(document.mortgage.propLocation[i].checked == true){
selected += "Selected radio item " + i;
}
}
if(selected == ""){
document.getElementById("reserved").innerHTML = "<p> none radio selected </P>";
return false;
}
}
返回两次似乎不起作用!当第一个函数通过并返回TRUE时 函数退出并发送表单。
是否可以在main函数中运行所有函数,然后如果main中的任何函数返回false,则返回false?
答案 0 :(得分:2)
&#34;返回&#34;语句结束了该功能,因此您无法在此之后调用任何内容。
错:
function completeFormValidation() {
return my_yearentry();
return my_location();
}
正确:
function completeFormValidation() {
return my_yearentry() && my_location();
}
但是你的my_yearentry函数必须有一个布尔返回值。
答案 1 :(得分:0)
这不会起作用,因为你的其他任何一个功能都没有准备好,但理想情况下你会想做类似的事情:
function completeFormValidation() {
return my_yearentry() && my_location();
}
麻烦的是其他函数都不会总是返回一些有用的东西。
如果他们两人总是返回(理想情况下返回true
或false
),那么这将有效。
也许
function yearentry1(){
var yearval = document.mortgage.mortYear.value;
return yearval;
}
和
function my_location(){
if(selected == ""){
document.getElementById("reserved").innerHTML = "<p> none radio selected </P>";
return false;
}
return true;
}
虽然将验证检查和验证报告混合在一起可能也会出现问题。这可能是一个好的开始。
答案 2 :(得分:0)
一旦函数返回,该函数调用就完成了。
function completeFormValidation() {
my_yearentry(); // take away return statement, just call the function
// you have inconsistent function name below :"yearentry1()"
return my_location();
}
答案 3 :(得分:0)
据推测,如果两个函数都返回false,您只想提交表单。在这种情况下,您需要以下内容:
function completeFormValidation() {
return my_yearentry() && my_location();
}
&&
是&#34;和&#34;。
在这种情况下,如果第一个函数返回false,则第二个函数甚至会被执行。如果您希望第二个始终执行,则只需使用&
:
function completeFormValidation(){
return !!(my_yearentry() & my_location());
}
或者以更易读的方式:
function completeFormValidation(){
var yearResult = my_yearentry();
var locationResult = my_location();
return yearResult && locationResult;
}