Проверка Recapcha через js для каждой формы?

Всем привет, на странице установлено 2 формы и к ним прикручена гугл капча. Для валидации формы использую JS.
$("form").submit(function (e) {
             var v = grecaptcha.getResponse();
             if(v.length == 0){
                alert("Капча");
                e.preventDefault();
                return false;
            }
   return true;
        });

Для первой формы (#g-recaptcha-response) все отрабатывает норм, а для 2 формы (#g-recaptcha-response-1)не хочет из за того что код зациклено на первой форме.
  • Вопрос задан
  • 337 просмотров
Пригласить эксперта
Ответы на вопрос 1
@nvdfxx
Senior Pomidor developer
Нужно рендерить для каждой формы свой инстанс капчи. Подрубаете:
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer </script>

И в скрипте:

$(document).ready(function() {
        let  onloadCallback = function() {
            let divcaptcha = $('g-recaptcha'); // класс, в который будет рендериться капча
            for (var i = 0; i < divcaptcha.length; i++) {
          	grecaptcha.render(divcaptcha[i], {
           		'sitekey': 'Публичный ключ'      
          	});
            }
        };
    });


Должно помочь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы