<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!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 runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
<input type="checkbox" name="cbx" id="cbx1" value="A"/>A<br />
<input type="checkbox" name="cbx" id="cbx2" value="B"/>B<br /><input type="checkbox" name="cbx" id="cbx3" value="C"/>C<br /><input type="checkbox" name="cbx" id="cbx4" value="D"/>D<br /><input type="checkbox" name="cbx" id="cbx5" value="E"/>E<br />
<br />
<input type="radio" name="rdo" value="是" />是 
<input type="radio" name="rdo" value="不是" />不是
<br />
<input type="button" name="submit" value="submit" onclick="submitclick()"/>
<input type="reset" name="reset" value="reset" />
    </form>
</body>
</html>
<script type="text/javascript">
//var selval=document.forms[0].cbx
function submitclick(){
var selval=SelectVal("cbx");
for(var i=1;i<selval.length;i++)
{
  alert(selval[i]);
}
}
function SelectVal(objName)
{
  var obj=document.getElementsByName(objName);
  var arr=new Array();
  if(obj)
  {
    for(var i=0;i<obj.length;i++)
    {
     if(obj[i].checked)
     {
      arr[i]=obj[i].value;
     }
   }
  }
  return arr;
}
</script>帮我看看上面的代码哪里有问题?我运行起来弹出来一个undefined来

解决方案 »

  1.   

    <!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">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <head>
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1">
    <input type="checkbox" name="cbx" id="cbx1" value="A"/>A<br />
    <input type="checkbox" name="cbx" id="cbx2" value="B"/>B<br /><input type="checkbox" name="cbx" id="cbx3" value="C"/>C<br /><input type="checkbox" name="cbx" id="cbx4" value="D"/>D<br /><input type="checkbox" name="cbx" id="cbx5" value="E"/>E<br />
    <br />
    <input type="radio" name="rdo" value="是" />是 
    <input type="radio" name="rdo" value="不是" />不是
    <br />
    <input type="button" name="submit" value="submit" onclick="submitclick()"/>
    <input type="reset" name="reset" value="reset" />
        </form>
    </body>
    </html>
    <script type="text/javascript">
    //var selval=document.forms[0].cbx
    function submitclick(){
    var selval=SelectVal("cbx");
    for(var i=0;i<selval.length;i++)
    {
      alert(selval[i]);
    }
    }
    function SelectVal(objName)
    {
      var obj=document.getElementsByName(objName);
      var arr=new Array();
      if(obj)
      {
        for(var i=0;i<obj.length;i++)
        {
         if(obj[i].checked)
         {
          arr.push(obj[i].value);
         }
       }
      }
      return arr;
    }
    </script>
      

  2.   

    你SelectVal()方法在往数组中添加数据的时候出的错
     for(var i=0;i<obj.length;i++)
        {
         if(obj[i].checked)
         {
          arr[i]=obj[i].value;
         }
       }
    如果第几个被选中就赋值给数组中的第几个元素,如果不选中呢,你也就没有给数组中元素赋值,当然得有undefined了
      

  3.   

    for(var i=1;i<selval.length;i++)
    {
      alert(selval[i]);
    }
    改为0 其他的地方没问题