javascript - grecaptcha - recaptcha v3 tutorial
Cómo recargar ReCaptcha usando JavaScript? (8)
Tengo un formulario de registro con AJAX para poder 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.
Creo que puedo responder mi propia pregunta ahora. Es
Recaptcha.reload();
en JavaScript si ya hay una Recaptcha cargada en la ventana.
Editar: @SebiH actualizó que este comando ahora es:
grecaptcha.reset();
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
O simplemente puede simular un clic en el botón de actualización
// If recaptcha object exists, refresh it
if (typeof Recaptcha != "undefined") {
jQuery(''#recaptcha_reload'').click();
}
Para usuarios de AngularJS:
$window.grecaptcha.reset();
Prueba esto
<script type="text/javascript" src="//www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
<script type="text/javascript">
function showRecaptcha() {
Recaptcha.create("YOURPUBLICKEY", ''captchadiv'', {
theme: ''red'',
callback: Recaptcha.focus_response_field
});
}
</script>
<div id="captchadiv"></div>
Si llama a showRecaptcha, el captchadiv se completará con una nueva instancia de recaptcha.
Si estás usando la versión 1
Recaptcha.reload();
Si estás usando la versión 2
grecaptcha.reset();
si está utilizando recaptcha 2.0, use esto: para el código que se encuentra detrás:
ScriptManager.RegisterStartupScript(this, this.GetType(), "CaptchaReload", "$.getScript(/"https://www.google.com/recaptcha/api.js/", function () {});", true);
para javascript simple
<script>$.getScript(/"https://www.google.com/recaptcha/api.js/", function () {});</script>
grecaptcha.reset(opt_widget_id)
Restablece el widget reCAPTCHA. Se puede pasar una identificación de widget opcional; de lo contrario, la función restablece el primer widget creado. (desde la página web de Google)