Здравствуйте, я хочу установить 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, я никаких ошибок в консоли с этим не наблюдал, но вероятно это тоже могло на что-то повлиять.