问答详情
源自:3-4 编程练习

求大神指导,在火狐里有BUG

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>发送验证码练习</title>
    <style type="text/css">
        .nosend{width: 120px;height: 50px;background-color: #999999;color: #FFFFFF;margin: 30px 400px;}
        .send{width: 120px;height: 50px;background-color: #0C4E7C;color: #FFFFFF;margin: 30px 400px;}
    </style>
    </head>
    <body>
        <input type="button" id="send" value="发送验证码" class="send"/>
    </body>
    <script type="text/javascript">

        var mybtn=document.getElementById("send");
        var timer=null;
        var index=10;
        mybtn.onclick=function(){
            if(timer){clearInterval(timer);timer=null;}
            mybtn.setAttribute("disabled","disabled");
            mybtn.setAttribute("class","nosend");
            timer=setInterval(function(){
             index--;
             mybtn.value=index+"后重新发送";
             if(index<0){
                 clearInterval(timer);
                 mybtn.removeAttribute("disabled");
                 mybtn.setAttribute("class","send");
                 mybtn.value="重新发送验证码";
                 index=10;
             }
            },1000);
        }

    </script>
</html>

这是完整代码,有一个BUG,在火狐浏览器里第一次运行正常,当刷新页面的时候会自动加上一个disabled属性,而在谷歌浏览器里就正常,这是为什么呢?

还有,提示里的disabled属性设置为‘true’或‘false’好像并不管用。

提问者:慕数据4614238 2016-05-16 20:12

个回答

  • renyi3916741
    2016-10-06 18:17:00

    window.onload=function(){

       var send=document.getElementById('send'),

           times=60,

           timer=null;

       send.onclick=function(){

             timer=setInterval(function(){

                 times--;

                 if(times<=0){

                 send.value="发送验证码"

                 clearInterval(timer);

                 send.disabled=""

                 times=60;

                 }else{

                 send.value=times+"秒后重试";

                 send.disabled="disabled"

                 }

             },1000)

         // 计时开始 

       } 

    }

    自认为代码很简单,你试试,

  • 云雾_
    2016-05-18 18:05:19

    看不懂