點擊發送驗證碼按鈕出現60S倒計時
阿新 • • 發佈:2018-12-13
點擊發送驗證碼設定60S倒計時時間
<!--Html-->
<input type="text" id="telephone" name="telephone" placeholder="手機號"/>
<input type="text" value="" name="checkedcode" placeholder="請輸入驗證碼"/>
<input type="button" onclick="sendCode(this)" value="獲取驗證碼" />
<!--JS程式碼-->
<script type ="text/javascript">
//定義變數
var clock = '';
var nums = 60;
var btn;
function sendCode(thisBtn) {
//判斷手機號是否合法
//獲取使用者輸入的手機號
var tel = $("#telephone").val();
//通過正則表示式匹配
//手機號的正則表示式
var reg = /^1[3,4,5,7,8,][0-9]{9}$/;
//匹配
var flag = reg.test(tel);
if(!flag){
alert ("手機號輸入格式錯誤!");
return;
}
//呼叫服務端傳送簡訊服務,給使用者傳送簡訊驗證碼
$.ajax({
//傳送簡訊的請求方式
type: "GET",
//路徑
url: "/regist/sendSms",
//傳到後臺的引數
data: {"telephone":tel},
//返回結果
success:function(){}
});
btn = thisBtn;
btn.disabled = true ; //將按鈕置為不可點選
btn.value = nums + '秒後重新獲取';
clock = setInterval(doLoop, 1000); //一秒執行一次,這是一個定時器
}
function doLoop() {
nums--;
if (nums > 0) {
btn.value = nums + '秒後重新獲取';
} else {
clearInterval(clock); //清除js定時器
btn.disabled = false;
btn.value = '重新獲取驗證碼';
nums = 60; //重置時間
}
}
</script>