2016-05-18 2 views
6

У меня есть google recaptcha, но моя форма ajaxed, поэтому мне нужно получить «входное значение» маркера, сгенерированного капчей, я проверяю страницу, чтобы найти токен, и я сделал финал маркера неgoogle recaptcha с формой ajax

<input type="hidden" id="recaptcha-token" value="03AHJ_VuucWtkVREJrdNs4CGxDBOVJ0NF5mr94-pKbmRE46-VjgtdPrnS3pPtub-fAuqGZHTwoZgbeFGrbe6gMeMuDTtsu1AmHXPkwdlO2n_zRwmnueSBkwDfzr1JLXjX50qF20yWDjV7S74za9SgYTWaNiwYZmljmFQ2niJt7fqR0CncIQtHuTtkrJszZqJDKyCfFGKpKtGEzYOCd6xGOM54QD9C4bhujbswyuCbOpXKMBoBdEtSthCsOllxIZPgATXdqfhAD5D-rgUb6wvvS0KIJJaYyQ8pzZHTNI6y1Mv20LY5dfkKGUaCR6e9F4WnuU8Fd8ZIRXRVrvZdg2U3XUfkJsojUQmYbvCtkjzZ_a49SwKEtU8X8jYVtTk_C5TvxQqEH8NbM1P5yJm-Ua5b4jVaOUp9df0QiZbVH2PlQOIXtPiVk21y_Ff2YaqTpxe2hgmLjdSSfhP3bKQ9L82zB-wRopATkcVOuoGWyx9k8L8zpQ5ZudQtSobFsf3UYg3NhtuBZeeuDkHefyEWk4_Ji-oIp4N2qh9Wv4UKZllSJjwsebtNY_mI7QCon0mKy5ppiJ8vbZU8Q9DM8RQyKsGI8OA3hN8WgD3jijA"> 

так что не мне нужно, чтобы захватить значение и отправить его с просьбой, но по какой-то причине он не сохраняет значение в переменной

здесь код Jquery

$(document).on('click', '#IDcontactSubmitBtn', function(event) { 
    event.preventDefault(); 
    var recaptchaToken = $('#recaptcha-token').val(); 
    console.log(recaptchaToken); 
}); 

, хотя я мог видеть токен, когда проверяю элемент, который он не хранит в переменной, у меня нет идеи, почему это может быть даже не правильный способ реализации google recaptcha? Спасибо, спасибо.

+0

ваш код выглядит правильно. Попробуйте изменить '$ (document)' на '$ ('body')' –

+0

попробовал, он не работает – Mikail

ответ

7

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

var token = $("#g-recaptcha-response").val(); 
+0

После того, как я столкнулся с этой проблемой, это было решением, которое помогло мне. Даже если при просмотре кода маркер, похоже, хранится в другом идентификаторе, этот идентификатор доставит вам токен. –

0

Я нашел его работу.

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Place Holder</title> 
     <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
    </head> 
    <body> 

     <input type="hidden" id="recaptcha-token" value="03AHJ_VuucWtkVREJrdNs4CGxDBOVJ0NF5mr94-pKbmRE46-VjgtdPrnS3pPtub-fAuqGZHTwoZgbeFGrbe6gMeMuDTtsu1AmHXPkwdlO2n_zRwmnueSBkwDfzr1JLXjX50qF20yWDjV7S74za9SgYTWaNiwYZmljmFQ2niJt7fqR0CncIQtHuTtkrJszZqJDKyCfFGKpKtGEzYOCd6xGOM54QD9C4bhujbswyuCbOpXKMBoBdEtSthCsOllxIZPgATXdqfhAD5D-rgUb6wvvS0KIJJaYyQ8pzZHTNI6y1Mv20LY5dfkKGUaCR6e9F4WnuU8Fd8ZIRXRVrvZdg2U3XUfkJsojUQmYbvCtkjzZ_a49SwKEtU8X8jYVtTk_C5TvxQqEH8NbM1P5yJm-Ua5b4jVaOUp9df0QiZbVH2PlQOIXtPiVk21y_Ff2YaqTpxe2hgmLjdSSfhP3bKQ9L82zB-wRopATkcVOuoGWyx9k8L8zpQ5ZudQtSobFsf3UYg3NhtuBZeeuDkHefyEWk4_Ji-oIp4N2qh9Wv4UKZllSJjwsebtNY_mI7QCon0mKy5ppiJ8vbZU8Q9DM8RQyKsGI8OA3hN8WgD3jijA"> 


     <button type="button" id="IDcontactSubmitBtn" >Submit</button> 
     <script type="text/javascript">   

     $(document).on('click', '#IDcontactSubmitBtn', function(event) { 
      event.preventDefault(); 
      var recaptchaToken = $('#recaptcha-token').val(); 
      console.log(recaptchaToken); 
     }); 

    </script> 

    </body> 
</html> 

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

+0

его на моем локальном хосте, возможно, значение не сохраняется, потому что его внутри iframe, я выложу весь страница здесь, в моем вопросе – Mikail

+0

whoa ..... если это iframe, то это точно, что вы не сможете его извлечь. –

+0

есть решение для этого? Я не могу найти информацию об использовании google captcha с ajax :( – Mikail

Смежные вопросы