我有以下代码用于验证字段,因为您在字段中输入值(红色表示无效,绿色表示字段变为有效):
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";
}
}
}
所以我的问题是我做错了什么?或者有一种方法可以在一个函数中验证多个表单,而无需反复编写相同的代码。
非常感谢任何帮助!
谢谢你, 人
答案 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
并循环使用