torch
torch
  • 发布:2016-11-18 14:24
  • 更新:2020-06-08 23:32
  • 阅读:7601

分享一个防止刷新的60秒后发送短信验证码

分类:MUI
<script type="text/javascript">  
            mui.plusReady(function(){  
                countdown = localStorage.countdown;  
                if (countdown != "0") {  
                    $("#action_code").html("重新发送 ( " + countdown + " )");  
                    timedown();  
                }  
            });  
            function timedown(obj) {  
                countdown = localStorage.countdown;  
                if (countdown == 0) {  
                    $("#action_code").html("获取验证码");  
                    return clearTimeout();//清除定时,没有的话会导致后面每次减一越来越快  
                } else {  
                    $("#action_code").html("重新发送 ( " + countdown + " )");  
                    countdown = countdown-1;  
                    localStorage.countdown=countdown;  
                }  
                setTimeout(function() {  
                    timedown(obj);  
                }, 1000);//定时每秒减一  
            }  
            //手机验证,判断60s之后再发送验证码  
            function settime(obj) {  
                var phone = document.getElementById("phone");  
                var password = document.getElementById("password");  
                var password_confirm = document.getElementById("password_confirm");  
                var check_phone_number = /^1[3458]\d{9}$/;  
                if (phone.value.length == 0) {  
                    plus.ui.toast("手机号不能为空");  
                    return;  
                }  
                if (phone.value.length != 11) {  
                    plus.ui.toast("请输入有效的手机号!");  
                    return;  
                }  
                if (!phone.value.match(check_phone_number)) {  
                    plus.ui.toast("请输入有效的手机号");  
                    return;  
                } else {  
                    //短信发送  
                    // mui.getJSON("url", { phone: phone }, function(json){  
                    //  if(json.status == "error")  
                    //  {  
                    //      mui.toast(json.msg);  
                    //  }  
                    //  else  
                    //  {  
                    //      localStorage.setItem("msncode",json.code)  
                    //      mui.toast(json.msg);  
                    //  }  
                    // });  
                    localStorage.countdown="60";  
                    timedown(obj);  
                }  
            }  
</script>
1 关注 分享
Trust

要回复文章请先登录注册

丝路网

丝路网

楼主,我不懂mui,弱弱的问一句,你这个代码如果切换别的页面再回来的话是不是会执行2个倒计时了?如果再切换出去再回来是不是执行3个倒计时了?
2020-06-08 23:32
汪阿浠

汪阿浠

测试发当前页面关闭之后,重新打开,倒计时还是停留在关闭时候的状态。重新打开页面之后 继续倒计时,有没有方法关闭页面之后继续倒计时的?
2017-05-22 17:15
汪阿浠

汪阿浠

点击获取验证码之后, $("#action_code").html("重新发送 ( " + countdown + " )"); 不生效
2017-05-22 14:22
torch

torch (作者)

这里只写了业务逻辑,具体不能点击这里自己做一个操作就可了
2016-11-18 14:45