【问题标题】:Recaptcha is ignored by ajax actionRecaptcha 被 ajax 操作忽略
【发布时间】:2012-09-11 11:32:22
【问题描述】:

我正在使用 Primefaces,但是我不能使用他们的 p:captcha 组件,因为它不能被 Ajax 渲染/更新。
因此,我正在尝试使用 reCaptcha 的 Ajax Api 通过使用 Recaptcha.create 在表单上动态创建它。代码如下:

Recaptcha.create(/*public_code*/,
                        'captchadiv', {
                            tabindex : 1,
                            theme : "red",
                            callback : Recaptcha.focus_response_field
                        });

Captcha 已创建,但它不会验证来自 ajax 按钮的操作,例如 p:commandButton。我做错了什么?

【问题讨论】:

    标签: ajax jsf-2 primefaces recaptcha


    【解决方案1】:

    我正在使用 Primefaces,但是我不能使用他们的 p:captcha 组件,因为它不能被 Ajax 渲染/更新。

    错误。 p:captcha 元素有一个 id 属性,因此它可以使用 AJAX 进行更新。它还有一个rendered 属性,可以设置为truefalse,即使在运行时也是如此。

    Captcha 已创建,但它不会验证来自 ajax 按钮的操作,例如 p:commandButton。我做错了什么?

    我猜你正在渲染的验证码元素没有与 JSF/PrimeFaces 集成。 ;-)

    为什么不像这样使用 PrimeFaces 验证码元素:

    <div id="captchaWrapper">
        <p:captcha rendered="captchaBean.rendered"/>
    </div>
    <p:commandButton value="render" action="#{captchaBean.render}" 
        update="captchaWrapper"/>
    

    并且有一个像这样的支持 bean:

    public class CaptchaBean
    {
        //Getter/setter omitted
        private boolean rendered;
    
        public void render()
        {
            rendered = true;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2015-01-12
      相关资源
      最近更新 更多