@Lucker_Kophe

Как подключить reCaptcha v3 к Tilda?

Здравствуйте, я хочу установить reCaptcha v3 на свой сайт с Tilda.

Сейчас мой код выглядит вот так:

<script src="https://www.google.com/recaptcha/api.js"></script>

<script>

    grecaptcha.ready(function(){
            console.log("Captcha loaded")
    });

    function onSubmitTilda (token) {
       
        $('formid').submit();

    }

    $( document ).ready(function() {

        recaptchaButtons = document.querySelectorAll('button[type="submit"]');

        recaptchaButtons.forEach(button => {

            button.classList.add("g-recaptcha");
            button.dataset.sitekey = "SiteKey";
            button.dataset.action = "submit";

            // button.removeAttribute("type");

        })

    });

    let supportForm1 = document.getElementById("form442523863");
    supportForm1.querySelector("button").dataset.callback = "onSubmitTilda";

</script>

<style>
    .grecaptcha-badge {
        display: none!important;
    }
</style>


Сейчас у меня при нажатии на кнопку Submit ничего не происходит

Она выглядит вот так:

<button class="t-submit g-recaptcha"  -moz-border-radius:30px; -webkit-border-radius:30px;font-weight:500;text-transform:uppercase;" data-callback="onSubmitTilda" data-sitekey="SiteKey" data-action="submit">Submit</button>


Я экспериментировал с функцией onSubmitTilda, а также добавлял и убирал кнопке type="submit"

При onSubmit как в документации - https://developers.google.com/recaptcha/docs/v3 Просто происходила перезагрузка страницы, тильда не выдавала сообщение об успешной отправке, а заявка на почту не поступала

function onSubmitTilda (token) {

    document.getElementById("formid").submit();

}


Решил попробовать через Jquery добавлять кнопку "submit" использовать trigger, но у меня была просто бесконечная загрузка отправки формы

function onSubmitTilda (token) {

        $('#formid').append('<button type="submit"></button>');

        $('#formid').trigger('submit');

    }


После пытался через Jquery использовать trigger на основную кнопку, но кнопка submit, просто стала не активной (У нее был указан "type=''submit")

function onSubmitTilda (token) {
       
        $('#formid').trigger('submit');

    }


Также пытался отправлять саму форму через $('formid').submit(), но кнопка все еще не активная

function onSubmitTilda (token) {
       
        $('#formid').submit();

    }


Сейчас я в тупике, подскажите что вероятно я не так делаю. Может быть мне на моменте бесконечной загрузки нужно передавать какой-то аргумент или присваивать класс? Буду крайне признателен за помощь.

Также у тильды со второй отправки формы с одного IP вызывается reCaptcha v2, я никаких ошибок в консоли с этим не наблюдал, но вероятно это тоже могло на что-то повлиять.
  • Вопрос задан
  • 5155 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы