Recaptcha не будет отображаться с использованием sfFormExtraPlugin и JQuery Dialog (лайтбокс) - PullRequest
1 голос
/ 23 мая 2011

Утро. У меня есть форма, которая отображается внутри диалогового окна jquery (лайтбокс) и в настоящее время пытается реализовать recaptcha как часть формы. Поскольку я использую инфраструктуру Symfony, я могу использовать sfFormExtraPlugin, который включает в себя виджет recaptcha. Этот виджет отображается нормально, если я отображаю его как часть исходной страницы, но он не будет отображаться в диалоговом окне jquery.

После некоторых исследований я обнаружил, что сценарий, который создает recaptcha, выглядит примерно так:

var RecaptchaState = {
    site : '6Let7r0SAAAAAJFp77tW4gRze7r5y89Cql_msPcm',
    challenge : '03AHJ_VusnO7jeI3VF-cHgOIv9RY9RIpYl2QWea_LULIdL8xrM9PZdcZZ7I9gFf4gSbr1fxGCSQjQZPJQ1sa6p1oEI9U_nkU8f2SjczxjH6nzmy43Q-m_8rnxWhhRUIDa7iTPEwo4-dwi-FipyMHsSAz-nE5yfFQfZog',
    is_incorrect : false,
    programming_error : '',
    error_message : '',
    server : 'http://www.google.com/recaptcha/api/',
    timeout : 18000
};

document.write('<scr'+'ipt type="text/javascript" s'+'rc="' + RecaptchaState.server + 'js/recaptcha.js"></scr'+'ipt>');

Я думаю, что проблема в document.write, b / c javascript вызывается в диалоговом окне jquery против фактического документа, поэтому document.write не будет работать должным образом.

Мысли?

- Правка -

Опубликовал окончательное решение в моем блоге , я бы написал здесь, но это довольно сложно.

1 Ответ

0 голосов
/ 03 ноября 2011

Как уже упоминалось при редактировании ОП, мне удалось наконец найти решение.

...