Несколько reCAPTCHA на одну страницу

Несколько reCAPTCHA на одну страницу

Часто получается, на одной странице может быть несколько форм для взаймодествия с пользователем, но у гугл рекаптчи механизм работы рассчитан на одну рекапчу на страницу. Чтобы это поправить пришлось изобретать велосипед. Итак первое что мы делаем создаем для каждой формы свой блок с уникальным ID и вставляем его в форму
<div id='form1'></div>
Второе мы должны вставить код с выполнением рекапчи
<script>
var onloadCallback = function() {

mysitekey = 'your_site_key';
grecaptcha.render('form1', {
'sitekey' : mysitekey
});

grecaptcha.render('form2', {
'sitekey' : mysitekey,
'theme' : 'dark', //default - light
'type' : 'audio', //default - image
'size' : 'compact', //default - normal
'tabindex' : 1, //default - 0
'callback' : , //function on success
'expired-callback' : //function when response expires
});

};
</script>
Не забываем поменять mysitekey на код который вы должны были поставить в форму до этого     Тут указаны параметры для двух форм. Одна без параметров, другая с ними. И третий шаг вместо подключения кода рекапчи api.js вставляете
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
 

Возврат к списку