Сейчас узнаем, какой подарок выпадет именно Вам
Крутите колесо
Ура, вы выиграли!
Ваш приз:
Годовой доступ
к видео на mo-ti -20%
по промокоду T19RAY
Промокод действителен 3 дня

Оформить доступ с промокодом
100
Как сделать альтернативное поле ввода для radio в форме в Tilda

Free Estimate

Please share your details below and we will get in touch with you soon.

Как сделать альтернативное поле ввода для radio в форме в Tilda

1
Создали форму
2
Добавили в неё поле - вопрос с вариантами ответа
Задали ему имя location-alter ( с обязательным окончанием -alter )
3
Сразу следом добавили Поле для ввода в одну строку
Задали ему имя location-add-alter ( с обязательным окончанием -alter )
4
Добавили поле - вопрос с вариантами ответа
Задали ему имя distanse-alter ( с обязательным окончанием -alter )
5
Сразу следом добавили Поле для ввода в одну строку
Задали ему имя distanse-add-alter ( с обязательным окончанием -alter )
6
Добавляем нужный код в блок Другое - Т123
Mo-ti Level Up
Видео инструкции по добавлению кода и работе с Zero Block.
Создаём альтернативное поле ввода в форме, для нестандартного ответа пользователем.
Фрагмент видео
Библиотека для примера

<style>
[name$="-alter"] ,
[data-tilda-name$="-alter"]{display: none}
</style>

<script>
$( document ).ready(function() {
$(document).on('change',' input[name$="-alter"] ',function(event){
    let Name = $(this).attr('name');
    let thGr = $(this).closest('.t-input-group');
    if (Name != undefined) {
        altInp = Name.includes('-alter');
        if(altInp){
            let ln = thGr.find('input[name="'+Name+'"]').length-1;
            let indNum = $('input[name="'+Name+'"]').index($(this));
            if(ln == indNum){
                thGr.next('div').find('input[name$="-alter"]').addClass('js-tilda-rule').attr('data-tilda-req',1).show();
            }else{
                thGr.next('div').find('input[name$="-alter"]').removeClass('js-tilda-rule').attr('data-tilda-req',1).hide().val('');
            };
        };    
    };    
});

$(window).resize(function() {clearTimeout(window.resizedFinished); window.resizedFinished = setTimeout(function(){ 
    $('input[type="radio"][name$="-alter"]').each(function(){
        let wrapper = $(this).closest('.tn-elem');
        if(wrapper.length){
            $(this).closest('.t-input-block').find('.t-radio__control:first').click();
            $(this).closest('.t-form__inputsbox').find('input[type="text"][name$="-alter"]').removeClass('js-tilda-rule').attr('data-tilda-req',1).val('');
        };
    });
}, 1000);});

});    
</script>
Made on
Tilda