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

为什么alert实现不了?

if条件有错吗?输入0或者7都不弹为什么

正在回答

1 回答

function checkone(){
            var hobby = document.getElementsByName("hobby");
            var j=document.getElementById("wb").value;
       
        if(j<1||j>6)
        {
            alert("请输入正确的数字!");
	    return;
        }
	    hobby[j-1].checked=true;        
        }

if判断要写在hobby[j-1].checked=true;前面,不然就会报错undefined;代码终止。。然后判断完记得return;终止下面代码继续运行,跳出函数。

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

慕用9345534 提问者

非常感谢!
2017-01-10 回复 有任何疑惑可以回复我~
#2

慕用9345534 提问者

你说的是对的,但为什么j-1必须在后面呢。。
2017-01-10 回复 有任何疑惑可以回复我~
#3

破晓Daybreak 回复 慕用9345534 提问者

举例你输入0,j-1=-1,那么hobby[-1]存在这个对象吗?hobby[-1]即undefined,一个undefined不存在checked这个属性,浏览器就会报错,不再执行下面代码。
2017-01-10 回复 有任何疑惑可以回复我~
#4

慕用9345534 提问者

嗯嗯,懂了谢谢
2017-01-10 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468192    人
  • 解答问题       21891    个

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

进入课程

为什么alert实现不了?

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