<input type="checkbox" name="all" value="全选" onFocus="sel2(this.value);">
do while not rs.eof
   <input type="checkbox" name="s<%=rs("id")%>" value="ss" onClick="sel2(this.name);">
LOOP可这样的结果,每点击全选,就提示document.getElementById(...)为空或不是对象
function   sel2(name)   
  {   
         var d=document.getElementById(name);
 arr=new Array(1);
        if(d.checked==true)   
        {   
            if (name=="selectall")
               {
                   for (i=0;i<arr1.length;i++)
                     {
                   arr[i]=arr1[i];
   document.getElementById("s"+arr1[i]).checked=true;
                 }
                    
                }   
 else
  {
     arr.push(name.substr(1));
  }
}  
        else   
        {   
         if (name=="selectall")
               {
                   for (i=0;i<arr.length;i++)
                     {
                   arr[i]="";
     document.getElementById("s"+arr1[i]).checked=true;
                 }
 
                }   
 else
  {
      for (i=0;i<arr.length;i++)
  {
      if (arr[i]==name.substr(1))
  {
   arr[i]="";        
  }
  if (arr[i]=="" & i<arr.lenght-1)
  {
   arr[i]=arr[i+1];
   arr[i+1]="";
  }
  } 
  }
        }   
  }   

解决方案 »

  1.   

    document.getElementById(s[i]).checked=true;
    改成这个
      

  2.   

    for(i = 0;i<document.getElementsByName("s").length;i++)
    document.getElementsByName("s")[i].checked=true
    <input type="checkbox" name="s" value="<%=rs("id")%>" onClick="sel2(this.name);">
      

  3.   

    getElementById是用来根据元素的Id来取得控件的,如果你在<input 后面
    加上类似于id=“s1”这样的属性,才能用getElementById("s1")来操作。我们一般对于checkbox这样的控件,是用getElementsByName(name)来取得
    一组checkbox控件的,当然所有checkbox都要有相同的名字,这就是
    net_lover(【孟子E章】) 老大所说的那段代码了。