1

我在尝试在 jquery 移动应用程序中将 reCaptcha 实现为 zend 表单时遇到了问题。当 jquery mobile 被禁用时,一切都很好,但我需要使用它,但我只能从 recaptcha + 验证消息中看到标签。

$recaptcha = new Zend_Service_ReCaptcha(
    '644443tQSAA4444444444444444444WNm6',
    '6L44443444444444444444444EmA_4448');

$captcha = new Zend_Form_Element_Captcha('challenge2',
    array(
        'captcha'        => 'ReCaptcha',
        'captchaOptions' => array(
            'captcha' => 'ReCaptcha', 
            'service' => $recaptcha
        )
    )
);

$captcha->setLabel('hello');        
$captcha->setErrorMessages(array( 'Please retape above words correctly'));
$this->addElement($captcha);

我试图$captcha->setAttrib('data-role', 'none')但没有帮助。
如何使用 Zend 框架在 jQuery Mobile 上显示 reCaptcha?

4

1 回答 1

0

这里有关于如何处理的信息https://developers.google.com/recaptcha/docs/display?hl=en#AJAX

我所做的是将此脚本添加到布局中:

<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>

然后,在有验证码的页面上,我有以下代码:

$('[data-role=page]').on('pagebeforeshow', function (event, ui) {
    if ($('#recaptcha_widget_div').length<1) { //if it was not loaded earlier
        Recaptcha.create("<your key>", 'captcha-element', {
            lang : 'en',
            tabindex: 1,
            theme: "clean",
            callback: Recaptcha.focus_response_field
        });
    }
}

“captcha-element”是包装我的验证码元素的 div 的 id。

于 2013-05-13T10:49:15.177 回答