一个ASP.Net页面中有多个reCAPTCHAs

一个ASP.Net页面中有多个reCAPTCHAs,asp.net,recaptcha,Asp.net,Recaptcha,是否可以在一个表单中添加多个reCAPTCHAS?我尝试过这样做,甚至给多个reCAPTCH提供了不同的ID,但是当我在浏览器中加载页面时,只显示其中一个 这是故意的吗?我需要两个reCAPTCHAS,因为一个用于登录,另一个用于注册表单,它将显示在同一页上 谢谢! WT在谷歌快速搜索之后,现在似乎不可能。我看到的是在用户提交表单时弹出一个模式recaptcha 一个页面在任何时候都只支持一个Cpatcha。您可以在表单加载后使用AJAX和lod验证码 .仅在需要时使用Recaptcha AJA

是否可以在一个表单中添加多个reCAPTCHAS?我尝试过这样做,甚至给多个reCAPTCH提供了不同的ID,但是当我在浏览器中加载页面时,只显示其中一个

这是故意的吗?我需要两个reCAPTCHAS,因为一个用于登录,另一个用于注册表单,它将显示在同一页上

谢谢!
WT

在谷歌快速搜索之后,现在似乎不可能。我看到的是在用户提交表单时弹出一个模式recaptcha

一个页面在任何时候都只支持一个Cpatcha。您可以在表单加载后使用AJAX和lod验证码


.

仅在需要时使用Recaptcha AJAX API加载每个Recaptcha并不太困难,请参阅我的帖子:


我最初认为没有简单的答案,但在翻阅了Recaptcha ajax库之后,我可以告诉你这不是真的!TLDR,工作JSFIDLE:

可以覆盖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创建轻松地完成这项工作。请看我的回答:


验证码有一个img元素#recaptcha#challenge(挑战)image元素,因此在一个div中设置recaptcha后,请说“regCaptch”,获取img src attr ,将另一个captcha 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);

您可以使用一个表单进行登录和注册。感谢Shoban提到这一点。它救了我一天。我在两个不同的更新面板中有验证码图像,即在同一页面上有两个验证码。有趣的是,当一个按钮被提交时,更新面板中的验证码被刷新,但另一个验证码在按钮点击后并没有改变。因此,我所做的是在EndRequest上调用refreshcaptcha函数,它成功了。