jquery实现发验证码等待倒计时效果
我们在处理验证码发送的时候,经常需要让用户不要一直点击发送,而是第一次发送后要过一定时间后才能再次点击发送按钮,这个效果可以用下面方法实现:
HTML代码如下:
<div class="cy-inNumBox wid90"> <h3>请输入你需要绑定的邮箱</h3> <div class="cy-inNum-body"> <input class="borderDe" type="text" name="email" id="email"/> <button class="unShadow float-right" id="sendEmailCode">发送验证码</button> </div></div>
主要jquery代码(这里得配合后端实现ajax数据交互)
$('#sendEmailCode').click(function () { var email = $.trim($('#email').val()); if (email == '') { dawnAlert('请填写您的邮箱'); return false; }else if(!/^[^@]+@[^@]+\.[^@]+$/.test($('#email').val())){ dawnAlert('请输入正确格式的邮箱');return false; } $.post('<?php echo url("Validform/sendEmail")?>', { 'email': email }, function (data) { if (data) { vcodeTick(10);//执行方法 dawnAlert('验证码已发送至您的邮箱,请注意查收'); $('#sendEmailCode').attr({'disabled':'disabled','readonly':true}).css('cursor','wait'); //使鼠标失效成等待状态 } else { dawnAlert(data.msg); } }, 'json'); return false;})//再次发送等待处理function vcodeTick(count) { if (count <= 0) { $('#sendEmailCode').bind('click').html('发送验证码'); $('#sendEmailCode').attr({'disabled':false,'readonly':false}).css('cursor',''); return; } $('#sendEmailCode').html(count + ' 秒后发送'); count--; setTimeout('vcodeTick(' + count + ')', 1000);}
顶(1)
踩(0)
下一篇:JS获取手机型号和系统
- 最新评论