具有多个if语句的Javascript函数不起作用

时间:2017-10-12 18:19:05

标签: javascript html html5 function if-statement

我所有的if语句都可以自己运行,但是当我将所有这些语句都放在函数中时,我无法让它们全部工作。

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");
    }
}

1 个答案:

答案 0 :(得分:0)

您应该以干净,格式化的方式编写代码,或使用为您执行此操作的IDE。如果你这样做,你会发现你因为缺少花括号而有语法错误。

另外,在第二个条件下将大写字母Z更改为小写字母z。

最后,请务必检查您的条件逻辑。例如,你的外部if条件检查是否MovieDescription,但其中的条件检查是否myForm.emailReceipt.checked == true,它将永远不会通过。这可能是条件单独工作但不能一起工作的原因。逐步完成您的逻辑,只添加必要的内容。

以下是您的代码的无错误版本,但仍需要您逐步完成逻辑并进行相应修复:

myForm.emailReceipt.checked == false