我所有的if语句都是独立运行的,但是当我把它们全部放在函数中时,我无法让它们全部工作。带有多个if语句的Javascript函数不起作用
function validate()
{
var x = document.forms["myForm"]["patientName"].value;
var y = document.forms["myForm"]["patientId"].value;
var z = document.forms["myForm"]["patientEmail"].value;
var yL = y.toString().length;
var search1 = z.search("@");
var search2 = z.search(".");
if (myForm.emailReceipt.checked == true) {
if (x == "" || y == "" || Z == ""){
alert("Name, ID, and Email must be filled out");
}else if (search1 == -1 || search2 == -1){
alert("Please submit a valid email address");
}
if ((myForm.emailReceipt.checked == false) && (x == "" || y == "")) {
alert("Name and ID must be filled out");
}
if (yL !== 8){
alert("ID must be 8 digits long");
}
}
'ž==“”'应该是'ž==“”' (小写)。 – llama
目前还不清楚if(myForm.emailReceipt.checked == true){'应该立即返回还是不返回,因为它没有关闭。如果该条件应该关闭所有其他条件,那么'if((myForm.emailReceipt.checked == false)&& ....'将永远不会工作 – hayavuk
我也认为这个验证器不必要地一次验证太多的东西。那么,你会遇到'z'的'x','y','z'为空的测试,然后稍后测试'x'或'y'为空,这是多余的。将验证器分成三个字段,然后编写一个验证器来组成它们。 – hayavuk