zoukankan      html  css  js  c++  java
  • 基于jquery. cookie 防刷新重复点击获取验证码

    效果图如下:

    直接上代码了:  /*仿刷新:检测是否存在cookie*/

        if($.cookie("captcha")){
            var count = $.cookie("captcha");
            var btn = $('#yzm');
            btn.val(count+'秒后可重新获取').attr('disabled',true).css('cursor','not-allowed');
            var resend = setInterval(function(){
                count--;
                if (count > 0){
                    btn.val(count+'秒后可重新获取').attr('disabled',true).css('cursor','not-allowed');
                    $.cookie("captcha", count, {path: '/', expires: (1/86400)*count});
                }else {
                    clearInterval(resend);
                    btn.val("获取验证码").removeClass('disabled').removeAttr('disabled style');
                }
            }, 1000);
        }
        //发送短信验证码
         $("#yzm").click(function(){
            var mobile = $("[name='user_name']").val();
            var btn = $(this);
            var count = 120;     //需要倒计时的秒数
            if(mobile == ''){
                showError('请填写您的手机号!');
                return false;
            }
            if (!mobile.match(/^((1[3,5,8][0-9])|(14[5,7])|(17[0,6,7,8]))d{8}$/)) {
                showError('请填正确的手机号!');
                return false;
            }
    $.ajax({ type:
    "post", url:"index.php?mod=login&action=sms", dataType:"json", data :{mobile:mobile}, success : function(result){ if(result.error){ showError(result.error); }else{ showSucc(result.datas);
    //AJAX返回成功值,用户120秒之后才可以再次点击获取
    var resend = setInterval(function(){ count--; if (count > 0){ btn.val(count+"秒后可重获"); $.cookie("captcha", count, {path: '/', expires: (1/86400)*count}); }else { clearInterval(resend); btn.val("获取验证码").removeAttr('disabled style'); } },1000) btn.attr('disabled',true).css('cursor','not-allowed'); } } }) })

    html :

    <div class="number">
                  <i class="iconfont icon-yonghu"></i>
                  <input type="text" class="text" autocomplete="off"  name="user_name" id="user_name" placeholder="注册帐号/手机号" style=" 235px;">
                  <input type="button" value= "获取验证码" id="yzm">
                  <label></label>
              </div>

    后台也加了用户获取短信验证码的判断,通过AJAX的返回值来判断要不要禁用用户点击。

     注意:一定要引入jquery.cookie.js 这个JS,不然的话不能生效的噢!

    以上就是防止用户刷新重复点击获取验证码

    各位多多指教!
  • 相关阅读:
    CF 986A Fair——多源bfs
    poj3539 Elevator——同余类bfs
    poj3463 Sightseeing——次短路计数
    poj2262 Goldbach's Conjecture——筛素数
    Kruskal算法
    Prim算法
    离散化
    最短路(hdu2544)
    最短路径问题
    Servlet
  • 原文地址:https://www.cnblogs.com/lixiaoquan/p/7086141.html
Copyright © 2011-2022 走看看