在做項目的時候,經(jīng)常遇到發(fā)短信驗證碼的問題,這時候需要用戶點完發(fā)送驗證碼按鈕后,一段時間內(nèi)不能重復點擊,畢竟驗證碼都是收費的嘛,誰都不想浪費,那么如何實現(xiàn)這種功能呢?下面來分享一下。
實例代碼記錄:
<script type="text/javascript">
function start_sms_button(obj){
var count = 1 ;
var sum = 30;
var i = setInterval(function(){
if(count > 10){
obj.attr('disabled',false);
obj.val('發(fā)送驗證碼');
clearInterval(i);
}else{
obj.val('剩余'+parseInt(sum - count)+'秒');
}
count++;
},1000);
}
$(function(){
//發(fā)送驗證碼
$('#send_sms').click(function(){
var phone_obj = $('input[name="phone"]');
var send_obj = $('input#send_sms');
var val = phone_obj.val();
if(val){
if(IsMobile(val)){
send_obj.attr('disabled',"disabled");
//30秒后重新啟動發(fā)送按鈕
start_sms_button(send_obj);
$.ajax({
url:'{#url_reset("index/sms")#}',
data:{'mobile':val},
dataType:'json',
type:'post',
beforeSend:function(){
show_loading_body();
},
complete:function(){
show_loading_body();
},
success:function(data){
if(data.status!=undefined && (data.status == 'ok' || data.status == 'error')){
showMsg(data.msg);
}
}
});
}else{
showMsg("手機號的格式錯誤");
}
}else{
showMsg('手機號不能為空');
}
});
});
</script>
更多信息請查看IT技術(shù)專欄