【问题标题】:Multiple reCAPTCHAs in one ASP.Net page一个 ASP.Net 页面中的多个 reCAPTCHA
【发布时间】:2010-11-05 06:53:06
【问题描述】:

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

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

谢谢! 重量

【问题讨论】:

  • 您可以只使用一个表单来登录和注册。

标签: asp.net recaptcha


【解决方案1】:

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

This might of some help.

【讨论】:

  • 感谢 Shoban 提及这一点。它只是拯救了我的一天。我在两个不同的更新面板中有验证码图像,即同一页面上有两个验证码。有趣的是,当一个按钮被提交时,一个更新面板中的验证码被刷新,但另一个验证码在按钮点击后没有改变。所以我所做的是在 EndRequest 上调用了 refreshcaptcha 函数,它成功了。
【解决方案2】:

在谷歌快速搜索后,目前似乎不可能。 One suggestion 我看到的是在用户提交表单时弹出一个模态recaptcha。 ondemandcaptcha for Ruby.

【讨论】:

    【解决方案3】:

    我最初被这个帖子引导相信没有简单的答案,但在深入研究 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");
    

    【讨论】:

      【解决方案4】:

      现在可以通过显式的验证码创建轻松地做到这一点。在这里查看我的答案:

      How do I show multiple recaptchas on a single page?

      【讨论】:

        【解决方案5】:

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

        How do I show multiple recaptchas on a single page?

        【讨论】:

          【解决方案6】:

          验证码有一个 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);
          

          【讨论】:

            猜你喜欢
            • 2017-03-14
            • 1970-01-01
            • 1970-01-01
            • 2013-03-06
            • 1970-01-01
            • 1970-01-01
            • 2012-11-22
            • 2011-03-28
            • 1970-01-01
            相关资源
            最近更新 更多