J'ai un formulaire d'inscription avec AJAX afin que je veuille rafraîchir l'image Recaptcha à chaque fois qu'une erreur se produit (c'est-à-dire le nom d'utilisateur déjà utilisé).
Je recherche un code compatible avec ReCaptcha pour le recharger en JavaScript.
javascript
recaptcha
AhmetB - Google
la source
la source
Réponses:
Important: la version 1.0 de l'API reCAPTCHA n'est plus prise en charge, veuillez passer à la version 2.0.
Vous pouvez utiliser grecaptcha.reset (); pour réinitialiser le captcha.
Source: https://developers.google.com/recaptcha/docs/verify#api-request
la source
Pour reCaptcha v2, utilisez:
Si vous utilisez reCaptcha v1 ( probablement pas ):
Cela fonctionnera s'il y a un Recaptcha déjà chargé sur le
window
.(Mise à jour basée sur le commentaire de @ SebiH ci-dessous.)
la source
grecaptcha.reset();
( documentation )grecaptcha.reset();
if (window.grecaptcha) grecaptcha.reset();
Si vous utilisez la version 1
Si vous utilisez la version 2
la source
Réinitialise le widget reCAPTCHA. Un identifiant de widget facultatif peut être passé, sinon la fonction réinitialise le premier widget créé. (à partir de la page Web de Google)
la source
Essaye ça
<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 vous appelez showRecaptcha, le captchadiv sera rempli avec une nouvelle instance de recaptcha.
la source
Ou vous pouvez simplement simuler un clic sur le bouton d'actualisation
// If recaptcha object exists, refresh it if (typeof Recaptcha != "undefined") { jQuery('#recaptcha_reload').click(); }
la source
Recaptcha
etgrecaptcha
sont tous deux indéfinis sur ma page. Cela a fonctionné pour moi, avec une légère modification:if( $("#recaptcha_reload").length > 0 ){ ....
Pour les utilisateurs d'AngularJS:
la source
Pour la nouvelle version de reCaptcha v2, utilisez:
la source
Si vous utilisez la version 1.0 de l'API reCAPTCHA, veuillez passer à la version 2.0 (la version 1.0 n'est plus prise en charge)
Utilisez
grecaptcha.reset();
pour réinitialiser le captcha.la source
si vous utilisez le nouveau recaptcha 2.0, utilisez ceci: pour le code derrière:
ScriptManager.RegisterStartupScript(this, this.GetType(), "CaptchaReload", "$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});", true);
pour du javascript simple
<script>$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});</script>
la source