Дело в том, что если делать инициализацию стандартным способом, то после удачной отправки формы через AJAX в консоли браузера появляется ошибка
Uncaught Error: No reCAPTCHA clients exist. и до перезагрузки страницы невозможно повторно отправить форму.
Мне нужно просто перерендерить капчу, но для этого нужен ее id.
grecaptcha.render(
container,
parameters
)
Если же я инициализирую капчу по примеру invisible (v2), то появляется ошибка
Invalid site key or not loaded in api.js.
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
<input type="hidden" id="g-recaptcha-response" name="g-recaptcha-response">
<div id="rcv3_ajaxform"></div>
<script>
var onloadCallback = function() {
var = widget_ajaxform = grecaptcha.render('rcv3_ajaxform', {
'sitekey' : '00000000000-publick-key-000000000000'
});
grecaptcha.execute('widget_ajaxform', { action: 'ajaxform' })
.then(function(token) {
document.getElementById('g-recaptcha-response').value=token;
});
};
</script>