表单中有多个radio,但名字和个数都无规则.
需要判断
1.表单中的第一个radio是否已选
2.表单中的radio至少有两个被选择.请高手支招.谢谢.

解决方案 »

  1.   

    通过type判断(type == 'radio')
      

  2.   

    <!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>财付通付款</title>
    </head>
    <body>
       <form name="funfun" id="funfun" method="post" action="#">
       <input type="radio" name="11">
       <input type="radio" name="22">
       <input type="radio" name="33">
       <input type="radio" name="44">
       <input type="radio" name="55">
       <input type="radio" name="66">
       <input type="button" value="tijiao" onclick="javascript:kk();">
       </form>
    </body>
    <script language="javascript">
    function kk()
    {
      var formattr=document.funfun;
     // alert(formattr.length);
      if(formattr[0].checked==true)
    {
          alert("第一个被选中");
      }
      var count=0;
         for(var i=0;i<formattr.length;i++)
    {
        
          if(formattr[i].checked==true)
    {
      
        count++;
      }
     }  if(count>=2)
    {
       alert("至少2个被选中");
     }}</script>
    </html>
      

  3.   


    <script>
    function checkC(form){
    var ras = document.getElementsByTagName("input");
    var len = ras.length;
    var k = 0, x = 0;
    for(var i = 0; i < len; i++){
    if(ras[i].type == "radio" && ras[i].checked){
    if(ras[i].name == "abc")x = 1;
    k++;
    }
    }
    alert("有" + k + "个被选中,第一个" + (x == 1? "已经": "没有") + "被选中");
    return false;
    }
    </script><form name="form1" action="ad.php" method="post" onsubmit="return checkC(this)">
    <input type="radio" name="abc" checked>
    <input type="radio" name="bcd">
    <input type="radio" name="def">
    <input type="radio" name="efg">
    <input type="radio" name="fgh" checked>
    <input type="radio" name="ghi">
    <input type="submit" value="提交">
    </form>
      

  4.   


    function test()
    {
    var myForm = document.forms["myForm"];
    var inputs = myForm.getElementsByTagName("input");
    var count = 0; 
    for(var i = 0 ;i<inputs.length;i++)

    if(inputs[i].type=="radio"&&inputs[i].checked)
    {
    count++;
    if(count==1)alert("我是第一个被选中的radio"+inputs[i]);
    }
    }
    alert("有"+count+"个radio被选中");
    }2楼的没有判断type
      

  5.   

    谢谢大家的意见,修改出我想要的.<script language="javascript">
    function kk()
    {
      var formattra=document.form_item;
      var formattr=formattra.getElementsByTagName("input"); //alert(formattr.length);
      if(formattr[0].checked==false)
        {
          alert("第一项必需选择!");
      }
      var count=0;
         for(var i=0;i<formattr.length;i++)
        {
            
              if(formattr[i].type=="radio"&&formattr[i].checked==true)
            {
              
                count++;
              }
         }     if(count<2)
        {
           alert("至少选择2个调查对像");
         }
    else{ 
    formattra.submit(); 
    }
    }</script>不过这种对于像下面,同name的radio,只能判断出第一个.
    <input type="radio" name="aa" value="1">
    <input type="radio" name="aa" value="2">
    <input type="radio" name="aa" value="3">
    <input type="radio" name="bb" value="1">
    我想要name为aa的都算一个.因为单选,且第一题必需作答.所以name=aa的都要考虑上.
      

  6.   

    +
    lz威武
    不过偶也有个方法
    就是elements集合
    <script type="text/javascript">
    var x=document.formName;
    for (var i=0;i<x.length;i++)
      {
      document.write(x.elements[i].value);
      document.write("<br />");
      document.write(x.elements[i].type);//可以拿到type
      document.write("<br />");
      }
    </script>
      

  7.   

    朋友,记得给分噢!
       <script type="text/javascript" language="JavaScript" src="JQuery.js"></script>    <script type="text/javascript" language="javascript">
      
    function a()
    {
     var IsCheckCount=0;
     $(document.body).find("input[type=radio]").each(function(i){
        var IsChecked=$(this).attr("checked");
        if(i==0){
            if(IsChecked==true){
              alert('第一个选中了');
             }else{
              alert('第一个没选中');
             }
        }
        if(IsChecked==true){
           IsCheckCount++;
        }
     })
       if(IsCheckCount<2){
          alert('至少选择2个');
         }else{
          alert('通过验证');
         }
    }
        </script><input id="Radio1" type="radio" />
            <input id="Radio2" type="radio" />
            <input id="Radio3" type="radio" />
            <input id="Button1" type="button" value="button" onclick="a()" />