document.getElementsById('ff').value 
首先这种写法:控件里面根本没有id属性,不可以用getElementsById(写错了,是getElementById可以用chks = document.getElementsByName("ff");来获得控件数组
再对chks循环就可以取得值了

解决方案 »

  1.   

    onsubmit="JavaScript:alert(mm());return false;">function mm()
    {
        var a = document.getElementsByName("ff");
        var s = [];
        for(var i=0; i<a.length; i++)
        {
            if(a[i].type=="checkbox" && a[i].checked)
            {
                s[s.length] = a[i].value;
            }
        }
        return s;
    }
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    //通过getElementByTag
     function getCbxByTag()
     {
         var cbx = document.getElementsByTagName("input");
     var cbxValue="";
     for(var i=0;i<cbx.length;i++)
     {
    if(cbx[i].type =="checkbox")
    {
    if (cbx[i].checked)
    {
    if (cbxValue.length>0)
    { cbxValue += ","+cbx[i].value;
    }
    else
    {
        cbxValue = cbx[i].value ;
    }
    }
    }
     }
     alert(cbxValue);
     return false;
     }//通过getElementsByName
     function getCbxByName()
     {
         var cbx = document.getElementsByName("ff");
     var cbxValue="";
     for(var i=0;i<cbx.length;i++)
     {
    if (cbx[i].checked)
    {
    if (cbxValue.length>0)
    { cbxValue += ","+cbx[i].value;
    }
    else
    {
    cbxValue = cbx[i].value ;
    }
    }
     }
     alert(cbxValue);
     return false;
     }
    //-->
    </SCRIPT>
    <BODY>
    <form name="form"  id="form" method="post" onsubmit="JavaScript:return getCbxByTag();">
      <input name="ff" type="checkbox" id="ff1" value="1">1
      <input name="ff" type="checkbox" id="ff2" value="2">2
      <input name="ff" type="checkbox" id="ff3" value="3">3
      <input name="ff" type="checkbox" id="ff4" value="4">4
      <input type="submit" name="Submit" value="提交">
      <input type="button" name="buttun2" value="提交2" onclick="return getCbxByName()">
    </form>
    </BODY>
    </HTML>
      

  3.   

    OK,已经解决谢谢,另外问问
    getElementsById没有这个方法吗?我一直以为既有getElementById又有getElementsById。
    既然getElements返回的是数组怎么还要循环?不能直接输出吗?
    初学JS问题很菜请别见笑。
      

  4.   

    ID 在页面里是唯一的,所以不存在相同 id 的元素组,当然就没有 getElementsById
      

  5.   

    顺便问问,既然document.getElementsByName("ff")返回的值是一个数组,为什么要
    s[s.length] = a[i].value;不是s[s.length] = a[i];就可以了吗?可以解释下吗?刚学JS...不要见怪!