Tengo un formulario de registro con AJAX, por lo que quiero actualizar la imagen de Recaptcha cada vez que se produce un error (es decir, el nombre de usuario ya está en uso).
Estoy buscando un código compatible con ReCaptcha para volver a cargarlo usando JavaScript.
javascript
recaptcha
AhmetB - Google
fuente
fuente
Respuestas:
Importante: La versión 1.0 de la API reCAPTCHA ya no es compatible, actualice a la Versión 2.0.
Puede usar grecaptcha.reset (); para restablecer el captcha.
Fuente: https://developers.google.com/recaptcha/docs/verify#api-request
fuente
Para reCaptcha v2, use:
Si está utilizando reCaptcha v1 ( probablemente no ):
Esto servirá si hay un Recaptcha ya cargado en el
window
.(Actualizado según el comentario de @ SebiH a continuación).
fuente
grecaptcha.reset();
( documentación )grecaptcha.reset();
para mis aplicaciones de reacción, y funciona perfectamenteif (window.grecaptcha) grecaptcha.reset();
Si está utilizando la versión 1
Si está utilizando la versión 2
fuente
Restablece el widget reCAPTCHA. Se puede pasar una identificación de widget opcional; de lo contrario, la función restablece el primer widget creado. (de la página web de Google)
fuente
Prueba esto
Si llama a showRecaptcha, el captchadiv se completará con una nueva instancia de recaptcha.
fuente
O simplemente puede simular un clic en el botón Actualizar
fuente
Recaptcha
ygrecaptcha
ambos están indefinidos en mi página. Esto funcionó para mí, con una ligera modificación:if( $("#recaptcha_reload").length > 0 ){ ....
Para usuarios de AngularJS:
fuente
Para la nueva versión de reCaptcha v2 use:
fuente
Si está utilizando la Versión 1.0 de la API reCAPTCHA, actualice a la Versión 2.0 (la Versión 1.0 ya no es compatible)
Use
grecaptcha.reset();
para restablecer el captcha.fuente
si está utilizando el nuevo recaptcha 2.0, use esto: para el código detrás:
para javascript simple
fuente