条件应该是i<form.elements.length,是<而不是<=。

解决方案 »

  1.   

    To : Tommy() 我试过了你的方法,不能解决问题。
    我是Win2000+IE5.0,谁能告诉我原因吗?
      

  2.   

    function checkall(form)
    {
    for (var i=0;i<form.elements.length;i++)
    {
    var e=form.elements[i];
    if (e.type=="checkbox"&&e.name!='chkall')
    e.checked=form.eaga.checked;
    }
    }
      

  3.   

    to  vivanboy(被迫早起的鸟儿) 
    我试过了,还是有脚本错误,你能确认在你的本机上调试通过吗?我知道,虽然有脚本错误,用还是能用,但在某些特定的情况下就不能用了。所以我一定要求不要出现脚本错误
      

  4.   

    <script language="javascript">
    <!--
    function checkall(form)
    {
    for (var i=0;i<form.elements.length;i++)
    {
    var e=form.elements[i];
    if (e.type=="checkbox"&&e.name!='chkall')
    e.checked=form.eaga.checked;
    }
    }
    //-->
    </script>
    <form name=form1>
    <INPUT TYPE="checkbox" NAME="a">
    <INPUT TYPE="checkbox" NAME="b">
    <INPUT TYPE="checkbox" NAME="c">
    <INPUT TYPE="radio" NAME=""><INPUT TYPE="text" NAME="">
    <INPUT TYPE="checkbox" NAME="d">
    <INPUT TYPE="checkbox" NAME="e">
    <input type=checkbox  name=eaga checked onclick="checkall(this.form)">
    </form>以上代码,在我这里通过,没有错误提示!
    将你的代码全部帖出来吧
      

  5.   

    问题已解决,谢谢 vivanboy(被迫早起的鸟儿)