一个ASP.Net页面中的多个reCAPTCHA

时间:2009-06-23 18:50:15

标签: asp.net recaptcha

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

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

谢谢! WT

6 个答案:

答案 0 :(得分:3)

任何时候页面中都只支持一个Captcha。你可以做的是在加载表单后使用AJAX并加载验证码。

This might of some help

答案 1 :(得分:1)

快速谷歌搜索后,似乎目前无法进行搜索。 One suggestion我看到就像用户提交表单一样弹出一个模态回收。 ondemandcaptcha for Ruby

答案 2 :(得分:1)

我最初在这个帖子的带领下相信没有简单的答案,但在挖掘了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");

答案 3 :(得分:1)

现在可以通过显式重新创建来轻松完成此操作。请在此处查看我的回答:

How do I show multiple recaptchas on a single page?

答案 4 :(得分:0)

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

How do I show multiple recaptchas on a single page?

答案 5 :(得分:0)

the captcha has an img element #recaptcha_challenge_image element , so after you set the recaptcha in one div say "regCaptch",get that img src attr ,set your other captcha div html to the old one html and then set the #recaptcha_challenge_image src to the src you get , here is a working example

    var reCaptcha_src = $('#recaptcha_challenge_image').attr('src');
    $('#texo').html($('#regCaptch').html());
    $('#recaptcha_challenge_image').attr('src',reCaptcha_src);