真的好纠结 不知道哪里错了 就是不执行 要疯了

来源:9-4 区别getElementByID,getElementsByName,getElementsByTagName

tobeyous

2016-04-03 21:47

 function checkone(){
            var j=document.getElementById("wb").value;
            clearall();
            var hobby=document.getElementsByName("hobby");
         // 任务3
         for(var i=0;i<j.length;i++)
            if(j.charAt(i)>6||j.charAt(i)<1)
            {
                alert("请输入1-6");
                document.getElementById("wb").value="";
            }
             hobby[(j.charAt(i))-1].checked=true;
        }
          for(var n=0;n<j.length;n++)
             hobby[(j.charAt(n))-1].checked=true;
        }


写回答 关注

3回答

  • mistyrain98
    2016-04-03 23:25:27
    function checkone(){
                clearall()
                var hobby=document.getElementsByName("hobby");
                var j=document.getElementById("wb").value;
                for(var i=0;i<j.length;i++){
                    if(0<j.charAt(i) && j.charAt(i)<7){
                        hobby[(j.charAt(i))-1].checked=true;
                    }
                    else{
                        alert("越界,请重新输入!");
                        document.getElementById("wb").value="";
                    }                
                }
            }

    这个好使,你的for后面掉了一个 { 括号,

    hobby[(j.charAt(i))-1].checked=true; 重复,第二个for可以删除


  • qq_小朱
    2016-04-03 22:51:32

    这里的j已经是一个数了

     for(var i=0;i<j.length;i++)            if(j.charAt(i)>6||j.charAt(i)<1)
                {
                    alert("请输入1-6");
                    document.getElementById("wb").value="";
                }
                 hobby[(j.charAt(i))-1].checked=true;
            }

    j.length也就没有意义了,其实这样就可以了

    function checkone(){
                var j=document.getElementById("wb").value;
            
             // 任务3
            var hobby = document.getElementById("hobby"+j);
            hobby.checked = true;
            }

    如果还要判断输入框的值的话,就直接用j和0,6比较就可以了

    qq_小朱

    j就是你在输入框输入的值,并不是一个对象

    2016-04-03 22:53:02

    共 1 条回复 >

  • syk93
    2016-04-03 22:45:10

    var j=document.getElementById("wb").value; j的值是NULL吧

    j.length有吗????

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题