
用 ecstore 搭建的网店,注册页面如下图:
http://i.imgur.com/PZb51vQ.png
如果输入了错误的图形验证码并点击“获取短信验证码”,原来的图形验证码不会自动刷新,短信平台商说这样不科学,不给提供发短信服务。
所以求懂前端童鞋帮忙处理一下这个问题,移动端注册页面也有同样的需求,理论上可以同理一并解决,搞定之后会有一些现金感谢。
网址就不贴了,有兴趣的童鞋请加我微信 yixtan 了解更多。
1 zhantss 2015-08-26 10:33:37 +08:00 发送短信请求前 ajax 验证下验证码 失败刷新验证码图片 成功继续发送短信请求 不难啊 难道我理解错了? |
2 yangqi 2015-08-26 10:35:51 +08:00 目前的验证码点击会刷新不?这样的话短信验证失败后, js 模拟点击验证码不就可以了。如果现在的验证码也不能刷新,那当我没说 |
5 invite 2015-08-26 10:43:31 +08:00 看不到图片。 |
6 fwings260 2015-08-26 10:45:18 +08:00 可以绑定一个失焦事件,采集你验证码输入框的文本用 ajax 发送后台验证,如果错误提示框显示“验证码错误”刷新验证码呗 或者可以直接表单提交,如果验证不通过(不管验证码还是密码)统统重新生成验证码发过来不就好了么 |
7 zi 2015-08-26 10:46:28 +08:00 jquery 的话, trigger 一下验证码的 click 事件就行了。 |
8 ThisDay 2015-08-26 10:52:14 +08:00 你直接贴代码,免费就帮你解决了,你这样扭扭捏捏,出 300 块也不一定有人干 |
10 Moker 2015-08-26 10:55:49 +08:00 最后发个链接出来好测试 |
11 zonghua 2015-08-26 10:59:53 +08:00 via iPhone 外联的元素不用 ajax ,你用 Javascript 更改一下 img 的 url 就行,随机加一个 Date.now 或者 Math.random ()都可以,浏览器就会去请求 |
12 Moker 2015-08-26 11:09:33 +08:00 表示没看到获取短信验证码的东西 |
13 ljcarsenal 2015-08-26 11:10:09 +08:00 现在不是可以了么 |
15 loading 2015-08-26 11:14:55 +08:00 via Android 如果被免费解决,建议将 300 元改成红包,贴这里,大家抢一下 233 |
16 zikkeung 2015-08-26 11:20:13 +08:00 300 快我来了 |
17 jtam OP @ljcarsenal 输一个错的图形验证码,提示错误之后还是原来的码,运营商说这样不行,要刷新一次。 |
19 ljcarsenal 2015-08-26 11:32:40 +08:00 为什么我这边不是 我输入的是错误的,提示之后就换了 |
20 Moker 2015-08-26 11:36:10 +08:00 看了下代码大概在#298 对返回的错误时 修改一下图片的 src 属性 |
22 b821025551b 2015-08-26 11:53:39 +08:00 trigger 一下“看不清楚?换一个” |
23 colonel 2015-08-26 11:57:18 +08:00 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 = '重发验证码'; } }); } |
24 Paranoid 2015-08-26 12:52:31 +08:00 手机界面 可以这样 手机界面还验证码本身就有 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 ); |
25 Paranoid 2015-08-26 12:52:52 +08:00 手机界面换验证码本身就有 bug |
26 jtam OP 感谢第一位和第二位加我微信并帮我完美解决问题的两位同学。 同时也感谢其他在本贴中提供方法和思路的好同学们。 |
27 wd0g 2015-08-26 13:42:05 +08:00 来晚了,我的 300 红包啊 |
28 pysama 2015-08-26 15:19:21 +08:00 来晚了。哈哈哈 在“点击获取短信验证码”的时候先 ajax 校验验证码是否正确,如果不正确,执行刷新验证码的方法(不一定要想到去模拟点击) |
29 xifangczy 2015-08-26 16:12:13 +08:00 via Android 模拟点击。。和不刷新有什么区别.. 禁止 JS 后不一样没效果。。又多一个短信轰炸接口。 |