早晨。我有一个表单,它在jquery对话框(灯箱)内呈现,目前正在尝试将recaptcha作为表单的一部分实现。因为我使用的是symfony框架,所以我可以使用包含recaptcha小部件的sfFormExtraPlugin。如果我作为原始页面的一部分进行回显,则此窗口小部件呈现正常,但在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在jquery对话框中调用javascript与实际文档,因此document.write将无法按预期工作。
思考?
- 编辑 -
在我的blog上发布最终解决方案,我会在这里发布,但它相当参与。
答案 0 :(得分:0)
正如OP的编辑所提到的,我终于找到了解决方案。