任务三自己写的,不能运行,关于几个细节,代码中有标出

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

azure1016

2016-08-26 15:05

任务三自己写的,不能运行,关于几个细节,代码中有标出,请帮我看一看,是哪里导致代码不能运行呢?另外,排名最前的代码里,为什么把j当作一个数组来用呢?

        function checkone(){

            var j=document.getElementById("wb").value;

            if(j!=null)//想判断是否有输入

            { 

                var vj=parseInt(j);

                clearall();

                if(vj<0||vj>6||isNan(j))//判断j是否越界或者是否为数字

                {

                    alert("输入不合法,请重新输入!");

                    document.getElementById("wb").value=" ";//重新清空输入框

                }

                else{

                    hobby[vj-1].checked=true;

                }

            }

         // 任务3

        

        }


写回答 关注

2回答

  • 慕粉1469604703
    2016-09-06 13:10:27

     function checkone(){    clearall();

                var j=document.getElementById("wb").value;

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

    if(j!=null)//想判断是否有输入

                { var vj=parseInt(j);

           if(isNaN(vj))//判断j是否越界或者是否为数字

                    {alert("输入不合法,请重新输入!"); document.getElementById("wb").value=" ";//重新清空输入框}

            else if(vj<=0||vj>6){alert("输入不合法,请重新输入!"); document.getElementById("wb").value=" ";//重新清空输入框 }

                    else{hobby[vj-1].checked=true; }

                }

    }

    1:hobby为局部变量,只能在函数体内使用,所以要先声明再赋值。

    2:个人觉得isNaN()的值是false或者true,跟数值不在一个取值域里面,所以else不起作用。(第二点也不是很明白,我个人的理解,不知道对不对)

  • zhujun2310
    2016-08-26 16:38:10

    value不能直接赋值给变量

    var j=document.getElementById("wb");

                if(j.value!=null)//想判断是否有输入


    azure1...

    我看到有同学就是这么写的:var j=document.getElementById("wb").value; 而且我按照您说的改了,依然不能运行呢。还是要感谢您~

    2016-08-26 17:53:38

    共 1 条回复 >

JavaScript进阶篇

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

468196 学习 · 21891 问题

查看课程

相似问题