有偿求助,注册页面的图形验证码刷新 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jtam
156.21D

有偿求助,注册页面的图形验证码刷新

  •  
  •   jtam Aug 26, 2015 6341 views
    This topic created in 3910 days ago, the information mentioned may be changed or developed.

    用 ecstore 搭建的网店,注册页面如下图:
    http://i.imgur.com/PZb51vQ.png

    如果输入了错误的图形验证码并点击“获取短信验证码”,原来的图形验证码不会自动刷新,短信平台商说这样不科学,不给提供发短信服务。

    所以求懂前端童鞋帮忙处理一下这个问题,移动端注册页面也有同样的需求,理论上可以同理一并解决,搞定之后会有一些现金感谢。

    网址就不贴了,有兴趣的童鞋请加我微信 yixtan 了解更多。

    Supplement 1    Aug 26, 2015
    我 js 0 基础,你们说的我都不懂,300 现金求愿意动手的童鞋帮个忙,有兴趣的请加微信。
    Supplement 2    Aug 26, 2015
    29 replies    2015-08-26 16:12:13 +08:00
    zhantss
        1
    zhantss  
       Aug 26, 2015
    发送短信请求前 ajax 验证下验证码 失败刷新验证码图片 成功继续发送短信请求
    不难啊 难道我理解错了?
    yangqi
        2
    yangqi  
       Aug 26, 2015
    目前的验证码点击会刷新不?这样的话短信验证失败后, js 模拟点击验证码不就可以了。如果现在的验证码也不能刷新,那当我没说
    jtam
        3
    jtam  
    OP
       Aug 26, 2015
    @yangqi 手工点击验证码可以刷新,问题出在我不懂怎么 js 模拟点击。
    jtam
        4
    jtam  
    OP
       Aug 26, 2015
    @zhantss 我也认为不难,但是我不懂 js 。
    invite
        5
    invite  
       Aug 26, 2015
    看不到图片。
    fwings260
        6
    fwings260  
       Aug 26, 2015
    可以绑定一个失焦事件,采集你验证码输入框的文本用 ajax 发送后台验证,如果错误提示框显示“验证码错误”刷新验证码呗
    或者可以直接表单提交,如果验证不通过(不管验证码还是密码)统统重新生成验证码发过来不就好了么
    zi
        7
    zi  
       Aug 26, 2015
    jquery 的话, trigger 一下验证码的 click 事件就行了。
    ThisDay
        8
    ThisDay  
       Aug 26, 2015   2
    你直接贴代码,免费就帮你解决了,你这样扭扭捏捏,出 300 块也不一定有人干
    jtam
        9
    jtam  
    OP
       Aug 26, 2015
    @leeyuzhe 真的不是扭捏,是我实在不知道该贴哪一段代码,发网站又好像在做广告
    Moker
        10
    Moker  
       Aug 26, 2015
    最后发个链接出来好测试
    zonghua
        11
    zonghua  
       Aug 26, 2015 via iPhone
    外联的元素不用 ajax ,你用 Javascript 更改一下 img 的 url 就行,随机加一个 Date.now 或者 Math.random ()都可以,浏览器就会去请求
    Moker
        12
    Moker  
       Aug 26, 2015
    表示没看到获取短信验证码的东西
    ljcarsenal
        13
    ljcarsenal  
       Aug 26, 2015
    现在不是可以了么
    jtam
        14
    jtam  
    OP
       Aug 26, 2015
    @Moker 用户名填一个手机号码,就看到了
    loading
        15
    loading  
       Aug 26, 2015 via Android
    如果被免费解决,建议将 300 元改成红包,贴这里,大家抢一下 233
    zikkeung
        16
    zikkeung  
       Aug 26, 2015
    300 快我来了
    jtam
        17
    jtam  
    OP
       Aug 26, 2015
    @ljcarsenal 输一个错的图形验证码,提示错误之后还是原来的码,运营商说这样不行,要刷新一次。
    Moker
        18
    Moker  
       Aug 26, 2015
    @loading 这个提议好

    @zikkeung 快点发红包
    ljcarsenal
        19
    ljcarsenal  
       Aug 26, 2015
    为什么我这边不是 我输入的是错误的,提示之后就换了
    Moker
        20
    Moker  
       Aug 26, 2015
    看了下代码大概在#298
    对返回的错误时 修改一下图片的 src 属性
    jtam
        21
    jtam  
    OP
       Aug 26, 2015
    @loading 这里如何贴红包?
    b821025551b
        22
    b821025551b  
       Aug 26, 2015
    trigger 一下“看不清楚?换一个”
    colonel
        23
    colonel  
       Aug 26, 2015   1
    passport-signup.html

    function sendVerify (el, data ) {
    var url = el.href;
    var textCOnt= el.getElement ('span span');
    el.addClass ('disabled');
    textCont.innerHTML = el.get ('text') + '(<i>0</i>)';
    var cd = new countdown (textCont.getElement ('i'), {
    start: 120,
    secondOnly: true,
    callback: function (e ) {
    el.removeClass ('disabled');
    textCont.innerHTML = '重发验证码';
    }
    });
    Query.send (url, el, data, function (rs ) {
    if (rs.error ) {
    changeCode (Module.element (modname, 'img.auto-change-verify-handle'));
    cd.stop ();
    el.removeClass ('disabled');
    textCont.innerHTML = '重发验证码';
    }
    });
    }
    Paranoid
        24
    Paranoid  
       Aug 26, 2015   1
    手机界面 可以这样   手机界面还验证码本身就有 bug
    sendVerify 函数 rs.error 后面+上下面 3 行 ( FF +chrome 测试过)  
    var newImage = new Image ();
    newImage.src = $(".auto-change-verify-handle").attr ("src")+"?time="+new Date ();
    $(".auto-change-verify-handle").attr ('src', newImage.src );
    Paranoid
        25
    Paranoid  
       Aug 26, 2015
    手机界面换验证码本身就有 bug
    jtam
        26
    jtam  
    OP
       Aug 26, 2015
    感谢第一位和第二位加我微信并帮我完美解决问题的两位同学。
    同时也感谢其他在本贴中提供方法和思路的好同学们。
    wd0g
        27
    wd0g  
       Aug 26, 2015
    来晚了,我的 300 红包啊
    pysama
        28
    pysama  
       Aug 26, 2015
    来晚了。哈哈哈
    在“点击获取短信验证码”的时候先 ajax 校验验证码是否正确,如果不正确,执行刷新验证码的方法(不一定要想到去模拟点击)
    xifangczy
        29
    xifangczy  
       Aug 26, 2015 via Android
    模拟点击。。和不刷新有什么区别.. 禁止 JS 后不一样没效果。。又多一个短信轰炸接口。
    About     Help     Advertise     Blog     API     FAQ     Solana     2967 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 105ms UTC 00:27 PVG 08:27 LAX 17:27 JFK 20:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86