reCAPTCHA v3: g-recaptcha-response вне формы - PullRequest
0 голосов
/ 02 ноября 2018

В этом примере reCAPTCHA v3 текстовая область g-recaptcha-response находится вне формы ...

<form method="post">
    <input type="text" name="name" placeholder="Name">
    <input type="text" name="email" placeholder="E-Mail">

    <script type="text/javascript">
        var onloadCallback = function() {
            console.log('onloadCallback');

            grecaptcha.execute(
                "SITEKEY",
                {action: "homepage"})
                .then(function(token) {
                        console.log('verifyCallback')
                        console.log(token);
                    }
                );

        };
    </script>

    <script src="https://www.google.com/recaptcha/api.js?render=SITEKEY&onload=onloadCallback"></script>

    <input type="submit" value="Send">
</form>

Так что нет $_POST["g-recaptcha-response"]

Какие корректировки необходимы для предоставления текстовой области внутри тегов формы?

1 Ответ

0 голосов
/ 26 ноября 2018

Вам нужен скрытый ввод в вашей форме, который получает ответ, и вам также нужно установить токен на скрытое значение ввода

<input type="hidden" id="g-recaptcha-response" name="g-recaptcha-response" value="" />

document.getElementById('g-recaptcha-response').value = token;

Однако у меня также возникают проблемы с реализацией recaptcha v.3 в Magento 2.

...