<table>
<tr>
<td>
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
<input  name="zy" type="checkbox"   disabled="disabled" value="oholh" />dfgdfgdfgdf
</td>
</tr>
</table><script>
function show()
{ setTimeout("alertMsg_()",1000) } 
function alertMsg_(){ document.all("zy").disabled=false;} 
</script>  <BODY> 
<input type="button" value="aaaa" onclick="show()"> 
</BODY>  
想要的效果是:单击按钮后,过1秒钟,所有的checkbox的状态变为可点击,现在问题来了,只有1个checkbox时候一切正常,但现在有多个就无效了,document.all不是遍历所有的组件吗?怎么修改让上面的可以正常成功?谢谢

解决方案 »

  1.   

    document.all("zy").disabled=false;当只有一个zy 的时候,document.all("zy") 返回一个对象,
    当有N个zy的时候 document.all("zy") 返回一个数组,这个数组当然没有 disabled 这个属性
      

  2.   

    document.all这个属性已经不推荐使用了
    用document.getElementsByName('zy')
      

  3.   

    你可以先判断document.all("zy")有没有length
    有得话就历遍设置
      

  4.   

    通过document.all要以引用当前页面的所有元素,但该功能只被IE支持,因此它不是DOM标准功能。
    举例:<div id=div1 name=div1></div>
    <script language=javascript>
    document.all.div1.innerHTML="<font color=#00ff00>Demo string</font>";
    </script>