Javascript 表单验证[最多一个]

实例:有A,B,C,D四个输入框,但只要求只填一个。

可以随意选择一个填写。

//Javascript取得某class样式的DOM对象集合
function $(oClass)
{
  var aClass=document.getElementsByTagName("*");
  var oClassArr=[]; //定义空数组
  for(var i=0;i<aClass.length;i++)
  {
     //检索每个DOM对象的className是否含有oclass类
     if(aClass[i].className.toString().indexOf(oClass)!=-1)
         {
           oClassArr.push(aClass[i]);  //添加到含有oclass的Dom集合
         }
  } 
  return  oClassArr; //返回含有oclass类样式的所有对象
}

完整例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>Tomi-Eric-表单验证—关于最多一个</title>

<style type="text/css">

.sText{ border:1px solid #666;}

.sText:hover{border:1px solid #f30; background:#FFFFCC}

p{ color:#555;}

p span{ display:block; width:5em; text-align:right; float:left; color:#666}

</style>

<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>

<script>

function check_Form(obj)

{

if(obj.username.value=="")

{

alert("username为空");

obj.username.focus();

return false;

}

//检测区域的填写

//html5中可以用document.getElmentByClassName(".chcek")或getCheckText(oClass) 代替 $(".checkqy")

//if(check(getCheckText("check"))>1)

if(check($(".check"))>1)

{

alert("A,B,C,D只需填一项");

return false;

}

return true;

}

/*函数:检测区域的唯一性

**obj传入class为check的所有对象

**flags记录每个check不为空的个数

**返回不为空的check个数,当个数大于1时禁止提交表单

*/

function check(obj){

var flags=0;

for(var i=0;i<obj.length;i++){

if(obj[i].value!="")

{

flags+=1;

}

}

return flags;

}

//获得class对象集合数组

function getCheckText(oClass){

var sText=document.getElementsByTagName("input");

var checkText=[];//动态数组

for(var i=0;i<sText.length;i++)

{

if(sText[i].className.toString().indexOf(oClass)!=-1)

{

// checkText.push(sText[i]);

checkText.push(this);

}

}

return checkText;

}

</script>

</head>

<body>

<fieldset>

<p><span>&nbsp;</span>A,B,C,D只需填一项</p>

<form action="#" method="post" onSubmit="return check_Form(this)">

<p>

<span>A:</span><input type="text" class="sText check" />

</p>

<p>

<span>B:</span><input type="text" class="sText check" />

</p>

<p>

<span>C:</span><input type="text" class="sText check" />

</p>

<p>

<span>D:</span><input type="text" class="sText check" />

</p>

<p>

<span>username:</span><input type="text" class="sText" name="username" />

</p>

<p><span>&nbsp;</span><input type="submit" value="submit" /> <input type="reset" value="reset" /> <input type="button" value="click" onclick="getCheckText('check')" />

</p>

</form>

</fieldset>

</body>

</html>