jquery 實現 點擊按鈕後倒計時效果,多用於實現發送手機驗證碼

來源:互聯網
上載者:User

標籤:

<!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(); }

 

jquery 實現 點擊按鈕後倒計時效果,多用於實現發送手機驗證碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.