表单验证,所需输入,JS,试图结合这两个功能

时间:2015-04-24 18:24:11

标签: javascript forms validation

我正在尝试将这两个功能结合起来:

function validateForm() {
        var x = document.forms["form1"]["condition1"].value;
        var y = document.forms["form1"]["condition2"].value;
        var z = document.forms["form1"]["condition3"].value;

        if (x == null || x == "") {
        alert("Please enter a 'condition1' value");
        return false;
        }

        if (y == null || y == "") {
        alert("Please enter a 'condition2' value");
        return false;
        }
        if (z == null || z == "") {
        alert("Please enter a 'condition3' value");
        return false;
        }
    }

// Form Validation for pages with no 'condition2' option

    function validateForm2() {
        var x = document.forms["form1"]["condition1"].value;
        var z = document.forms["form1"]["condition3"].value;

        if (x == null || x == "") {
        alert("Please enter a 'condition1' value");
        return false;
        }
        if (z == null || z == "") {
        alert("Please enter a 'condition3' value");
        return false;
        }
    }

validateForm()检查condition1,condition2和condition3是否已成功输入Form1,如果没有则提醒用户。

使用Form1的某些页面没有条件2.

因为它没有'condition2'输入的页面不起作用。一个非常简单的解决方法是只创建一个几乎相同的函数validateForm2(),其中省略了'condition2'。然后我必须经历并排序哪些页面需要哪个功能。

<form name="form1" onsubmit="return validateForm()">

<form name="form1" onsubmit="return validateForm2()">

我正在试图看看我是否可以通过在页面实际上只需要'condition2'来组合这两个函数。

2 个答案:

答案 0 :(得分:1)

 <form name="form1" onsubmit="return validate();">

In your javascript

 function validate()
 {
   if(required_condition_both)
    {
      return  validateForm();

    }
   else if(required_condition1_only)
    {  
      return  validateForm2();
    }


 }

答案 1 :(得分:1)

您只能使用一个validateForm函数

function validateForm() {
    var isPresentCond2 = document.forms["form1"]["condition2"],
        x = document.forms["form1"]["condition1"].value,
        y,
        z = document.forms["form1"]["condition3"].value;

    if (x == null || x == "") {
    alert("Please enter a 'condition1' value");
    return false;
    }
    if (isPresentCond2) {
        y = document.forms["form1"]["condition2"].value;
        if (y == null || y == "") {
            alert("Please enter a 'condition2' value");
            return false;
        }
    }
    if (z == null || z == "") {
    alert("Please enter a 'condition3' value");
    return false;
    }
}