Как сделать страницу успеха зависимой от значения калькулятора в форме в Tilda
Секреты Карельских островов
Вы сможете покататься на скоростных катерах по Ладожским шхерам, напоминающим многим знаменитые Норвежские фьорды, увидеть необитаемые острова, озера, мраморный каньон Рускеала с его отвесными скалами, деревню викингов, загадочные древние капища, самый красивый остров на Ладоге и многое другое!
1
3
Выбрано (дней) : 0
Стоимость путешествия: 0 руб.

Как сделать страницу успеха зависимой от значения калькулятора в форме в Tilda

1
Создали блок с формой BF311N и задали ему страницу успеха
2
Добавили в него разные поля и поле калькулятор
3
Полю калькулятора задали имя urlresult
4
Добавили код в блок Другое - Т123
В коде прописали условие и ссылку

calcVal <= 1 : urlSucc="https://yandex.ru"
calcVal <= 2 : urlSucc="https://google.ru"
calcVal >= 3 : urlSucc="https://mail.ru"
Библиотека для примера

<script>
$( document ).ready(function() {
function checkCalc(){
    let calcInput = $('input[name="urlresult"]');
    let mainForm = calcInput.closest('form');
    let calcVal = +calcInput.val();
    let urlSucc="";
    switch (true) {
        case calcVal <= 1 :  urlSucc="https://yandex.ru";  break;
        case calcVal <= 2 :  urlSucc="https://google.ru";  break;
        case calcVal >= 3 :  urlSucc="https://mail.ru";    break;
    };
    mainForm.attr('data-success-url', urlSucc);
};

function followCalc(){
    setTimeout(function(){
        let target = document.querySelector('input[name="urlresult"]');
        let observer = new MutationObserver(function (mutations) {
        mutations.forEach(function (mutation) {
            let newVal = $(mutation.target).prop(mutation.attributeName);
            if (mutation.attributeName === "value") { checkCalc()};  
        });
    });
observer.observe( target , {  attributes: true});
}, 2000);
};
followCalc();
$(window).resize(function() {clearTimeout(window.resizedFinished); window.resizedFinished = setTimeout(function(){  followCalc()  }, 1000);});
});
</script>
Made on
Tilda