Formumuzu AJAX aracılığıyla gönderdiğimde ve bazı giriş hataları veya formu gönderildiğinde Google reCaptcha widget'ını sıfırlamak istiyorum. Aynı sayfada birden çok widget kullanıyorum, bu yüzden bu widget'ları açık bir şekilde oluşturuyorum.Google reCaptcha sıfırlama çalışmıyor
Benim HTML kodu:
<div class="g-recaptcha" id="recaptcha-1"></div>
<div class="g-recaptcha" id="recaptcha-2"></div>
...
<div class="g-recaptcha" id="recaptcha-20"></div>
Yükleme Widget
<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>
sonra teslim formu:
var id = $('.g-recaptcha', form).attr('id');
grecaptcha.reset(id);
Form gönderildi formun örneğidir.
Form doğru şekilde doldurulduğunda her şey düzgün çalışıyor. Ancak reCaptcha sıfırlamaz veya yeniden yüklenmez. Bu grecaptcha.reset()
'u deneyin, ancak sonuç yok.
Herhangi bir fikrin var mı?
Hata mı veriyor? – RafaelKr
Maalesef no :(. Hiç hatam yok. Yeniden "recaptcha.js" dosyasını yeniden yüklediğine benziyor. – quarky