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获取手机型号和系统
- 最新评论
