Je suis en train de charger Invisible reCAPTCHA de manière dynamique pour chaque formulaire avec un bouton ayant la classe g-recaptcha
.
Le problème que j'ai est que captcha ne se charge pas correctement et je ne sais pas pourquoi. J'ai suivi la documentation sur le site Web captcha et je ne sais pas comment ni pourquoi j'ai eu cette erreur:
Uncaught Error: Missing required parameters: sitekey
Est-ce que quelqu'un sait où est le problème?
Voici le code que j'utilise:
<script src='https://www.google.com/recaptcha/api.js?onload=onloadCallback&hl={{ app.request.locale|default(defaultLang) }}' async defer></script>
JS
var onloadCallback = function () {
$("button.g-recaptcha").each(function () {
var el = $(this);
//SITE_KEY is actually hard coded string.
//It is string that google provided. I just remove it for security reasons...
grecaptcha.render($(el).attr("id"), {
"sitekey": SITE_KEY,
"size": "invisible",
"badge": "inline",
"callback": function (token) {
$(el).parent().find(".g-recaptcha-response").val(token);
$(el).closest("form").submit();
}
}, true);
});
$("button.g-recaptcha").click(function(event) {
event.preventDefault();
grecaptcha.execute();
});
};
EXEMPLE DE HTML:
<button
type="submit"
id="submitReviewButton"
class="btn btn-lg btn-submit btn--green g-recaptcha"
>
{{ "review.submit_your_review"|trans }}
</button>
Vous manquez une partie importante ici. Le widget api doit être rendu explicitement. Ajoutez simplement render=explicit
au script apapt recaptcha.
<script src='https://www.google.com/recaptcha/api.js?
onload=onloadCallback
&render=explicit
&hl={{app.request.locale|default(defaultLang) }}' async defer>
</script>
Lisez le document Google ( reCAPTCHA V2 | reCAPTCHA - Rendez explicitement le widget reCAPTCHA ).
Si vous obtenez "Paramètres requis manquants: sitekey" lorsque vous utilisez Wordpress avec CForm Builder et Google Captcha RECaptcha, vous devez placer la clé de site Recaptcha sous "Options globales" dans le menu de gauche pour le plugin CForm Builder. Vous avez également besoin des mêmes informations dans le plugin Google Captcha. Cela peut sembler évident, mais le «Options globales» de CForm a longtemps manqué.