2011-08-31 4 views
25

JQuery/AJAX로 내 연락처 양식을 내 페이지로로드합니다.reCaptcha 스크립트를 그대로두고 jQuery/AJAX를 사용하여 reCaptcha 양식을로드하려면 어떻게해야합니까?

문의 양식에는 reCaptcha 스크립트가 들어 있습니다.

불행히도 JQuery는 내 페이지에 스크립트 태그를 삽입하기 전에 스크립트 태그를 제거합니다. 이 스크립트 태그는 captcha를 출력하기 때문에 필요합니다. 이제로드 된 양식에 captcha가 없습니다. http://code.google.com/apis/recaptcha/docs/display.html

당신은 아약스에 스크립트를 추가 할 수 없습니다 :

답변

20

링크는 당신이 필요로하는 모든이있다. 다음 코드를 추가 사용하여 다음

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

, 당신이 동적으로 JS 코드에서 reCAPTCHA를 양식을 만들 수 있습니다 : 당신은 전에 다음 줄을 추가해야

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

내가 실제로 응답을 기다리는 동안이했다. 내 솔루션을 게시하고 이것을 찾으러 돌아 왔습니다. 어쨌든 고마워. 내 솔루션을 어느쪽으로해서 확인해 주셔서 감사합니다. – eSentrik

+0

축하합니다! 멋지다. – benck

+1

이것은 이미 구식 솔루션입니다. 올렉의 해결책은 괜찮습니다. – Legionar

17

@benck, 좋은 대답을! 그러나 조금 구식이되었습니다. 현재 스크립트 URL은 다음과 같습니다

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

그리고 코드는 다음과 같이해야합니다 :

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

예, 최신 Google reCAPTCHA 코드가 필요합니다. 감사! – tribulant

+0

'element_id'란 무엇입니까? –

+0

@SandeepPariyar는'div'의 ID이고'g-recaptcha' 클래스입니다. – Legionar