2011-08-31 12 views
25

JQuery/AJAXを使用して自分のコンタクトフォームを自分のページに読み込みます。reCaptchaスクリプトをそのまま残したまま、jQuery/AJAXを使用してreCaptchaフォームを読み込むにはどうすればよいですか?

連絡先にはreCaptchaスクリプトが含まれています。

残念ながら、JQueryはスクリプトタグを削除してから自分のページに挿入します。これらのスクリプトタグは、キャプチャを出力するために必要です。今はロードされたフォームにはキャプチャがありません。

答えて

20

リンクはあなたが必要なすべてを持っている:http://code.google.com/apis/recaptcha/docs/display.html

あなたはAJAXでスクリプトを追加することはできません。

Recaptcha.create("your_public_key", 
    "element_id", 
    { 
     theme: "red", 
     callback: Recaptcha.focus_response_field 
    } 
); 
+0

私は実際にこのしばらくは返事を待っているんでした。私の解決策を投稿し、これを見つけるために戻ってきました。とにかく、ありがとう。いずれかの方法で私の解決策を確認してください。 – eSentrik

+0

おめでとうございます!カッコいい。 – benck

+1

これはすでに古くなった解決策です。オレグの解答は大丈夫です。 – Legionar

17

@benck、素晴らしい答え:次に、あなたが動的に次のコードを追加使用して、JSコードにreCAPTCHAのフォームを作成することができます

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

:あなたは前に以下の行を追加する必要があります!しかし、少し古くなってきています。

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

とコードは以下のようにする必要があります:現在のスクリプトのURLがある

grecaptcha.render('element_id', { 
    sitekey: recaptchaSiteKey, 
    callback: function(response) { 
     console.log(response); 
    } 
}); 
+0

はい、これは新しいGoogle reCAPTCHAコードが必要です。ありがとう! – tribulant

+0

'element_id'とは何ですか? –

+0

@SandeepPariyarクラス 'g-recaptcha'を持つ' div'のIDです。 – Legionar

関連する問題