jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码

<!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="Scripts/jquery-2.1.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        var InterValObj; //timer变量,控制时间
        var count = 60; //间隔函数,1秒执行
        var curCount;//当前剩余秒数\
        var code = ""; //验证码
        var codeLength = 6;//验证码长度
        function sendMessage() {
            curCount = count;
            var dealType = $("#phones").val(); //手机号码
            var uid = $("#uid").val();//用户uid
            
            //产生验证码
            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: 'Admins/Index6', //目标地址
                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 {
                //冷却60秒按钮可点击
                curCount--;
                $("#btnSendCode").val("请在" +     curCount + "秒内输入验证码");
            }
        }
    </script>
    
</head>
<body>
   
    验证码<img id="imaCode2" src="ValidCode.ashx" onclick="this.src='ValidCode.ashx?number='+Math.random()" />
    <p>手机号:<input id="phones" type="text" value="" /> </p>
    <P>用户名:<input id="uid" type="text" value=""  /> </P>
    <P><input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>
</body>
</html>

 控制器下的代码

       [HttpPost]
        public ActionResult Index6()
        {
            string zh ="XXXXXXX";//短信接口账户
            string mm = "123456";//账户密码
            int sms_type = 42; //通道编号
            string dealType = Request["dealType"];//电话号码
            string uid = Request["uid"];//用户ID
            string code = Request["code"];//随机数
//内容 string nr = "您好用户:" + uid + ",你的验证码为:" + code + "请尽快输入!";
//短信接口通道地址如:
string url = "http://www.6610086.net/jk.aspx?zh=" + zh + "8&mm=" + mm + "&hm=" + dealType + "&nr=" + nr + "&sms_type=" + sms_type; Response.Redirect(url); // Response.Write("<script>$.ajax({type: 'POST', dataType: 'text', url: " + url + ",data:null,error: function (XMLHttpRequest, textStatus, errorThrown) { },success: function (msg) { }});</script>"); //Response.Write("<script>$.ajax([type:'POST',dataType:'text',]);</script>"); return View(); }

 

posted on 2015-02-15 14:19  嘿呀土豆  阅读(405)  评论(0编辑  收藏  举报

导航