jquery - thinkphp3.2.3的驗證碼自動刷新
迷茫
迷茫 2017-05-16 13:16:38
0
6
537

thinkphp的ajax的驗證碼錯誤自動刷新怎麼寫?
寫在這個回傳函數的else這裡

#附上下面的html


怎麼再次觸發這個點擊時間在else那裡?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(6)
黄舟

驗證碼你可以自己寫,也可以用第三方函式庫,現在第三方函式庫蠻多啦,刷新機制,推薦使用api方式,寫一個Javascript給一個隨機數字來區分即可。
範例:
這裡我使用的是第三方的驗證碼庫gregwar/captcha

<input type="text" name="captcha" class="form-control" style="width: 300px;">
          <a onclick="javascript:re_captcha();" ><img src="{{ URL('code/captcha') }}"  alt="验证码" title="刷新图片" width="100" height="40" id="code" border="0"></a>

<script>  
  function re_captcha() {
    $url = "{{ URL('kit/captcha') }}";
        $url = $url + "/" + Math.random();
        document.getElementById('code').src=$url;
  }
</script>

你錯誤自動刷新的話,重新呼叫一下re_captcha方法。

Ty80

驗證碼刷新原理其實很簡單, 只是加個後綴而已 ?t=123123

左手右手慢动作

1.回調的else裡去刷新,方法樓上各位給了。

2.如果第一點做到了,還沒刷新,那我猜是你的判斷有問題吧:
if(data.info==1)
這裡,是不是應該是:if(data.status== 1) ????

3.$("#2")是什麼? id是不能用數字開頭的。

PHPzhong

個人習慣大概是這樣

  1. 在驗證碼圖處上存個src 保存驗證碼原始位址(防止圖片位址越來越長)

  2. 綁定點擊切換事件

  3. 驗證碼錯誤時透過trigger解讀驗證碼點擊事件實現切換驗證碼

//代码手写 难免有误
$(function(){
    var verifyImg = $("#verify_img");
    verifyImg.click(function(){
        $(this).attr("src",$(this).data('src') + '?v=' + Math.random());
    }).data('src', verifyImg.attr('src'));
    
    $("#fm-xxx").submit(function(){
        var fm = $(this);
        $.post(fm.attr('action'), fm.serialize(), function(data){
            if(data.code == 'verify-code') {
                verifyImg.trigger("click");
            } else {
                //...
            }
        });
        return false;
    });
});
仅有的幸福

在下面加上

$("#2").html(验证码错误);

$("#verify_img").attr("src",<?php echo U('Index/yzm');?>);
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!