可以在一种形式中添加多个 reCAPTCHAS 吗?我试过这样做,甚至给多个 reCAPTCHAS 不同的 ID,但是当我在浏览器中加载页面时,只显示其中一个。
这是设计使然吗?我需要两个 reCAPTCHAS,因为一个用于登录,另一个用于注册表格,它将显示在同一页面上。
谢谢!重量
任何时候一个页面只支持一个 Cpatcha。您可以做的是在表单加载后使用 AJAX 和 lod 验证码。
经过快速的谷歌搜索,目前似乎不可能。我看到的一个建议是在用户提交表单时弹出一个模态recaptcha。Ruby 的 ondemandcaptcha。
我最初被这个线程引导相信没有简单的答案,但在挖掘了 Recaptcha ajax 库之后,我可以告诉你这不是真的!TLDR,工作 jsfiddle:http: //jsfiddle.net/Vanit/Qu6kn/
可以覆盖 Recaptcha 回调来做任何你想做的挑战。您甚至不需要代理 div,因为覆盖后 DOM 代码将不会执行。每当您想再次触发回调时,请调用 Recaptcha.reload()。
function doSomething(challenge){
$(':input[name=recaptcha_challenge_field]').val(challenge);
$('img.recaptcha').attr('src', '//www.google.com/recaptcha/api/image?c='+challenge);
}
//Called on Recaptcha.reload()
Recaptcha.finish_reload = function(challenge,b,c){
doSomething(challenge);
}
//Called on page load
Recaptcha.challenge_callback = function(){
doSomething(RecaptchaState.challenge)
}
Recaptcha.create("YOUR_PUBLIC_KEY");
现在可以通过显式的 recaptcha 创建轻松地做到这一点。在这里查看我的答案:
仅在需要时使用 Recaptcha AJAX API 加载每个 Recaptcha 并不难,请参阅我的帖子:
验证码有一个 img 元素 #recaptcha_challenge_image 元素,因此在一个 div 中设置 recaptcha 后说“regCaptch”,获取该 img src attr,将您的其他验证码 div html 设置为旧的 html,然后将 #recaptcha_challenge_image src 设置为src 你得到了,这是一个工作示例
var reCaptcha_src = $('#recaptcha_challenge_image').attr('src');
$('#texo').html($('#regCaptch').html());
$('#recaptcha_challenge_image').attr('src',reCaptcha_src);