Я хочу reset виджет Google reCaptcha, когда я отправляю свою форму через AJAX и получаю некоторые ошибки ввода или форму. Я использую несколько виджетов на одной странице, поэтому я явно визуализирую эти виджеты.
Мой HTML-код:
<div class="g-recaptcha" id="recaptcha-1"></div>
<div class="g-recaptcha" id="recaptcha-2"></div>
...
<div class="g-recaptcha" id="recaptcha-20"></div>
Загрузка виджета
<script src="https://www.google.com/recaptcha/api.js?onload=reCaptchaCallback&render=explicit&hl=en" async defer></script>
<script>
var reCaptchaCallback = function() {
var elements = document.getElementsByClassName('g-recaptcha');
for (var i = 0; i < elements.length; i++) {
var id = elements[i].getAttribute('id');
grecaptcha.render(id, {
'sitekey' : 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
});
}
};
</script>
После отправки формы:
var id = $('.g-recaptcha', form).attr('id');
grecaptcha.reset(id);
Форма является экземпляром представленной формы.
Все работает нормально, когда форма заполняется правильно. Но reCaptcha не выполняет reset или перезагружает.
Он пробует это grecaptcha.reset()
, но никаких результатов.
Любая идея?