JQuery проверить плагин с невидимым reCaptcha - PullRequest
0 голосов
/ 16 ноября 2018

У меня проблемы с интеграцией плагина проверки jQuery и невидимой reCaptcha.Я следовал предоставленным инструкциям, загрузив файл api.js и добавив следующее над кнопкой отправки:

<div id="recaptcha" class="g-recaptcha" data-sitekey="xxxxxxxxxxxxxxxxxxxxxxxx" data-callback="formSubmit" data-size="invisible"></div>

Я также добавил следующую функцию в свой файл js:

function formSubmit(response) {
    // submit the form which now includes a g-recaptcha-response input
    $("#open-account").submit();
    return true;
}

И это мой обработчик проверки и отправки:

jQuery('#open-account').validate({
    submitHandler: function(form){
        if (grecaptcha.getResponse()) {
            //Code for serializing the data and submit the form
            form.submit();
        } else {
            grecaptcha.reset();
            grecaptcha.execute();
        }
    }
}

Проблема в том, что вам нужно отправить форму дважды, чтобы она работала.После первого подтверждения консольный вывод будет выглядеть так:

ReCAPTCHA couldn't find user-provided function: formSubmit

После второго нажатия / отправки - форма работает как надо.Я погуглил эту ошибку, и решение, которое я нашел, состояло в том, чтобы определить функцию обратного вызова также в глобальном пространстве:

window.formSubmit = formSubmit;

Но это дает мне тот же результат - мне нужно нажать кнопку teice для отправки только сейчасвывод консоли:

Uncaught (in promise) null

Что я делаю не так?Заранее спасибо.

...