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