javascript發(fā)送短信驗證碼實現(xiàn)代碼
本文首先分析手機發(fā)送驗證碼的原理,再對javascript發(fā)送短信驗證碼予以實現(xiàn),具體思路如下:
實現(xiàn)點擊“發(fā)送驗證碼”按鈕后,按鈕依次顯示為“59秒后重試”、“58秒后重試”…直至倒計時至0秒時再恢復(fù)顯示為“發(fā)送驗證碼”。在倒計時期間按鈕為禁用狀態(tài) .
第一步、獲取按鈕、綁定事件、設(shè)置定時器變量和計時變量
第二步、添加定時器,每隔1秒鐘計時減 1,直至當(dāng)計時小于等于 0 時清除定時器,按鈕恢復(fù)為“發(fā)送驗證碼”,否則顯示為“X秒后重試”
效果圖:
實現(xiàn)代碼:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload=function(){ var send=document.getElementById('send'), times=60, timer=null; send.onclick=function(){ // 計時開始 var that = this; this.disabled=true; timer = setInterval(function(){ times --; that.value = times + "秒后重試"; if(times <= 0){ that.disabled =false; that.value = "發(fā)送驗證碼"; clearInterval(timer); times = 60; } //console.log(times); },1000); } } </script> </head> <body> <input type="button" id="send" value="發(fā)送驗證碼"> </body> </html>
注意點:
設(shè)置按鈕是否為禁用時,send.disabled=true; send.disabled=false;
true和false不能加引號!true和false不能加引號!true和false不能加引號!否則值永遠為真。
也可用send.setAttribute('disabled','disabled');
或send.removeAttribute('disabled');
以上就是為大家分享的javascript發(fā)送短信驗證碼全部代碼,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
實現(xiàn)JavaScript中數(shù)據(jù)響應(yīng)的方法總結(jié)
JavaScript 數(shù)據(jù)響應(yīng)是一種重要的前端開發(fā)概念,是指在應(yīng)用程序中的數(shù)據(jù)發(fā)生變化時,能夠自動更新與這些數(shù)據(jù)相關(guān)的用戶界面(UI)部分的能力,本文我們來總結(jié)一下目前可以簡單實現(xiàn) JavaScript 中的數(shù)據(jù)響應(yīng)的方法,需要的朋友可以參考下2023-09-09關(guān)于javascript中this關(guān)鍵字(翻譯+自我理解)
在傳統(tǒng)面向?qū)ο笳Z言中,this關(guān)鍵字是個很乖的小孩,從不亂跑,該是誰的就是誰的??墒窃贘avaScript中,我們發(fā)現(xiàn)它不那么乖,有時甚至把我們搞的暈頭轉(zhuǎn)向的。所以有必要對它稍微做個總結(jié)。2010-10-10兩種JavaScript的AES加密方式(可與Java相互加解密)
這篇文章主要介紹了兩種JavaScript的AES加密方式(可與Java相互加解密) 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08