为了账号安全,请及时绑定邮箱和手机立即绑定

请问问什么这种方法不行


          <input type="button" id="btn1" value = "全选" >

          <input type="button" id="btn2" value = "全不选" >

          <p>请输入您要选择爱好的序号,序号为1-6:</p>

          <input id="wb" name="wb" type="text" >

          <input name="ok" type="button" value="确定" onclick = "checkone();">

        </form>

        <script type="text/javascript">

        

    window.onload = function(){

        var btn1 = document.getElementById("btn1");

        var btn2 = document.getElementById("btn2");

        var hobby = document.getElementsByName("hobby");

            for(var i=0;i<=hobby.length;i++){

                btn1.onclick = function{

                    hobby[i].checked=true;

                }

                btn2.onclick = function{

                    hobby[i].checked=false;

                }

            }

          // 任务1            

    }    


正在回答

2 回答

1、你为什么要加window.onload = function()这个事件,直接定义一个函数就可以了,window.onload 是当JavaScript写在head标签内时才用的。你的代码是直接写在body里的,用不上window.load事件。

2、for循环里i<=hobby.length是错的,正确的应该是i<hobby.length (js中索引是从0开始的)。

3、 btn1.onclick事件和btn2.onclick的函数应该是放在for循环的外面。比如:

  btn1.onclick = function(){

for(var i=0;i<=hobby.length;i++){

                    hobby[i].checked=true;

                }

}

你把上面的问题都改了,再试试

0 回复 有任何疑惑可以回复我~

我是这么认为的:onclick()方法只会执行 hobby[i].checked=true;这一段代码,而

 var btn1 = document.getElementById("btn1");

        var btn2 = document.getElementById("btn2");

        var hobby = document.getElementsByName("hobby");

            for(var i=0;i<=hobby.length;i++){

这一段代码是网页加载就执行,onclick里面根本执行不了循环语句

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问问什么这种方法不行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信