2011-05-23 9 views
1

朝。 jqueryダイアログボックス(ライトボックス)の内部にレンダリングされ、現在はフォームの一部としてrecaptchaを実装しようとしているフォームがあります。私がsymfonyフレームワークを使用しているので、私はrecaptchaウィジェットを含むsfFormExtraPluginを使用することができます。このウィジェットは元のページの一部としてエコーするとうまく描画されますが、jqueryダイアログボックス内ではレンダリングされません。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>'); 

私はB/C JavascriptをjQueryのダイアログ内で呼び出されている、問題はdocument.writeをだと思います実際のドキュメントと比較すると、document.writeは期待どおりに動作しません。

思考?

- 編集 - 私のblog

投稿最終的な解決策は、私はここに掲載しているだろうが、それはかなり複雑です。

+0

あなたのライトボックスがAJAXリクエストのレスポンスで満たされている場合、レスポンス内のjavascriptが実行されない可能性があります...ライトボックスの仕組みを教えてください。また、Firebugでウィジェットを調べるときに表示されるhtmlを表示できますか? – greg0ire

+0

@ greg0ire:あなたは正しいです。 b/cはdocument.write jsが実行されていないことです。完了したら結果を掲載します。私は、今すぐ検証に取り組んで、recaptchaウィジェットを描画するライトボックスを得ました。 –

+0

編集による最終ソリューションへのリンクを投稿しました。応答していただきありがとうございます。 –

答えて

0

OPの編集で述べたように、私は最終的に解決策を見つけ出すことができました。

関連する問題