Mam formularz rejestracji w AJAX, więc chcę odświeżyć obraz Recaptcha za każdym razem, gdy wystąpi błąd (tj. Nazwa użytkownika jest już używana).
Szukam kodu kompatybilnego z ReCaptcha, aby przeładować go za pomocą JavaScript.
javascript
recaptcha
AhmetB - Google
źródło
źródło
Odpowiedzi:
Ważne: wersja 1.0 interfejsu API reCAPTCHA nie jest już obsługiwana, uaktualnij do wersji 2.0.
Możesz użyć grecaptcha.reset (); aby zresetować captcha.
Źródło: https://developers.google.com/recaptcha/docs/verify#api-request
źródło
W przypadku reCaptcha v2 użyj:
Jeśli używasz reCaptcha v1 ( prawdopodobnie nie ):
Nastąpi to, jeśli w pliku
window
.(Zaktualizowano na podstawie komentarza @ SebiH poniżej.)
źródło
grecaptcha.reset();
( dokumentacja )grecaptcha.reset();
do moich aplikacji do reagowania i działa idealnieif (window.grecaptcha) grecaptcha.reset();
Jeśli używasz wersji 1
Jeśli używasz wersji 2
źródło
Resetuje widżet reCAPTCHA. Można przekazać opcjonalny identyfikator widgetu, w przeciwnym razie funkcja resetuje pierwszy utworzony widget. (ze strony internetowej Google)
źródło
Spróbuj tego
Jeśli zadzwonisz do showRecaptcha, captchadiv zostanie wypełnione nową instancją recaptcha.
źródło
Możesz też po prostu zasymulować kliknięcie przycisku odświeżania
źródło
Recaptcha
igrecaptcha
oba są niezdefiniowane na mojej stronie. U mnie to zadziałało, z niewielką modyfikacją:if( $("#recaptcha_reload").length > 0 ){ ....
Dla użytkowników AngularJS:
źródło
W przypadku nowej wersji reCaptcha v2 użyj:
źródło
Jeśli używasz wersji 1.0 interfejsu API reCAPTCHA, zaktualizuj do wersji 2.0 (wersja 1.0 nie jest już obsługiwana)
Służy
grecaptcha.reset();
do resetowania captcha.źródło
jeśli używasz nowej recaptcha 2.0, użyj tego: dla kodu za:
dla prostego javascript
źródło