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

为什么输入数字不在范围就会弹框六次呢?

function checkone(){

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

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

         // 任务3

            if(j<7&&j>0)

            {

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

                {

                    if((n+1)==j)

                    {

                        hobby[n].checked=false;

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

                    }

                    

                }

            else

            {

                alert("当前输入有误!请重新输入...")

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

            }

            }

        }

有同学可以帮忙看看吗?谢谢了

正在回答

1 回答

同学先不提代码结果,光说你的语句就有问题啊。。。我把你代码内容清除,光剩一个语句结构,你看下是不是有问题

    function checkone()

    {

        if()

        {

                for(){ if(){} }

            else{}

        }

    }

你的else没有对应if。。。

你提供的代码是运行不了的,我试了。你说的弹框6次,我初步判断是因为你现在的代码运行不了,所以页面暂时还停留在你上一次运行成功的代码,这个代码停留的问题我也遇到过,有点印象。


修改后格式应该是下面这样,我运行了下,点一次‘确定’只会弹框一次。

另外把false改成true,点击确定是选中框而不是取消框选。感觉代码还可以更简洁一点

    function checkone()

    {

        if()

        {

                for(){ if(){} }

        }

        else{}

    }

一起加油,哈哈。我有时候不会就点开答案。现在看到你这自己辛苦敲出来的代码,挺惭愧的,哈哈

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

shan330 提问者

嗯嗯,对的,还真是位置没对应上,谢谢你
2017-03-13 回复 有任何疑惑可以回复我~
#2

shan330 提问者

其实我也不怎么会呢,有时也综合评论里面其他同学的代码来看,有时会在问答区找是不是也有跟我出现一样情况的然后来重新理解它
2017-03-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么输入数字不在范围就会弹框六次呢?

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