在一个函数中验证多个表单域

时间:2015-04-18 05:43:38

标签: javascript php html forms

我有以下代码用于验证字段,因为您在字段中输入值(红色表示无效,绿色表示字段变为有效):

function FormValidation(){
    var fn=document.getElementById("firstName").value;
    if(fn == ""){
        document.getElementById("firstName").style.borderColor = "red";
        return false;
    }else if (/^[0-9]+$/.test(document.getElementById("firstName").value)) {
        document.getElementById("firstName").style.borderColor = "red";
        return false;
    }else if(fn.length <=2){
        document.getElementById("firstName").style.borderColor = "red";
        return false;
    }else{
        document.getElementById("firstName").style.borderColor = "#679f30";
    }
}

其他字段也需要这些验证。

我尝试了一个for循环,但它无法验证所有表单,就像上面代码对一个字段所做的那样:

function FormValidation(){
    var array = ["firstName", "middleName", "lastName"];
    for(i=0; i < array.length; i++){
        var fn=document.getElementById(array[i]).value;
        if(fn == ""){
            document.getElementById(array[i]).style.borderColor = "red";
            return false;
        }else if (/^[0-9]+$/.test(document.getElementById(array[i]).value)) {
            document.getElementById(array[i]).style.borderColor = "red";
            return false;
        }else if(fn.length <=2){
            document.getElementById(array[i]).style.borderColor = "red";
            return false;
        }else{
            document.getElementById(array[i]).style.borderColor = "#679f30";
        }
    }
}

所以我的问题是我做错了什么?或者有一种方法可以在一个函数中验证多个表单,而无需反复编写相同的代码。

非常感谢任何帮助!

谢谢你, 人

2 个答案:

答案 0 :(得分:4)

将id作为函数的参数传递并访问受尊重的参数。因此,不是一次又一次地编写整个代码,而是可以使用您的特定参数调用该函数。 function FormValidation(id){ var fn=document.getElementById(id).value; if(fn == ""){ document.getElementById(id).style.borderColor = "red"; return false; }else if (/^[0-9]+$/.test(document.getElementById(id).value)) { document.getElementById(id).style.borderColor = "red"; return false; }else if(fn.length <=2){ document.getElementById(id).style.borderColor = "red"; return false; }else{ document.getElementById(id).style.borderColor = "#679f30"; } }

  

使用参数作为您需要验证的ID调用该函数。      例如return FormValidation("firstName")

答案 1 :(得分:0)

为他们提供相同的课程,然后使用

getElementByClass

并循环使用