jquery - thinkphp3.2.3的验证码自动刷新
迷茫
迷茫 2017-05-16 13:16:38
0
6
503

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学习者快速成长!