首页 > 编程 > PHP > 正文

yii框架实现注册页面短信验证60秒倒计时

2020-03-22 17:20:55
字体:
来源:转载
供稿:网友
  • 先说下简单的,直接用html' target='_blank'>jquery来实现短信验证60秒倒计时,然后在说明在yii框架下怎么实现的。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>    <title></title>    <script src="HTML/js/jquery-1.4.1.min.js" type="text/javascript"></script>    <script type="text/javascript">        /*-------------------------------------------*/        var InterValObj; //timer变量,控制时间var count = 5; //间隔函数,1秒执行var curCount = 60;//当前剩余秒数var code = ""; //验证码var codeLength = 6;//验证码长度function sendMessage() {            curCount = count;            var dealType; //验证方式var uid=$("#uid").val();//用户uidif ($("#phone").attr("checked") == true) {                dealType = "phone";            }            else {                dealType = "email";            }            //产生验证码for (var i = 0; i < codeLength; i++) {                code += parseInt(Math.random() * 9).toString();            }            //设置button效果,开始计时                $("#btnSendCode").attr("disabled", "true");                $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");                InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次//向后台发送处理数据                $.ajax({                    type: "POST", //用POST方式传输                    dataType: "text", //数据格式:JSON                    url: 'Login.ashx', //目标地址                    data: "dealType=" + dealType +"&uid=" + uid + "&code=" + code,                    error: function (XMLHttpRequest, textStatus, errorThrown) { },                    success: function (msg){ }                });            }        //timer处理函数function SetRemainTime() {            if (curCount == 0) {                                window.clearInterval(InterValObj);//停止计时器                $("#btnSendCode").removeAttr("disabled");//启用按钮                $("#btnSendCode").val("重新发送验证码");                code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效                }            else {                curCount--;                $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");            }        }    </script></head><body>        <input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p></body></html>
    上面就是很简单的直接使用jquery来实现倒计时的功能。

    其实整个过程主要用到了两个js函数:setTimeOut()和setInterval(),或者看两种的关系

    特别计数结束后,要调用clearInterval()来停止计数。

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表