<!--
* Name: Показываем инпут при выборе радиокнопки
* Description: Код добавляет возможность скрывать или отображать поля формы при выборе радиокнопки
* Author: ANKU
* URL: https://anku.one/add-input
-->
<script>
// Добавьте id блоков c формой или класс блока с фомой
const formSectionSelectors = ['#rec806707577', '#rec806755451', '.uc-main-702'];
// Заполните настройки для каждого блока
const formSettings = {
// Старт настроек для блока с формой
'#rec806707577': {
inputNamesToHide: ['phone', 'telegram', 'other'],
radioValuesMapping: {
'Телефон': 'phone',
'Телеграм': 'telegram',
'Прочее': 'other',
}
},
// Конец настроек для блока с формой
// Старт настроек для блока с формой
'#rec806755451': { // 396
inputNamesToHide: ['email', 'fax', 'other'],
radioValuesMapping: {
'Email': 'email',
'Факс': 'fax',
'Прочее': 'other',
}
},
// Конец настроек для блока с формой
// Старт настроек для блока с формой
'.uc-main-702': {
inputNamesToHide: ['address', 'zip', 'other'],
radioValuesMapping: {
'Адрес': 'address',
'Индекс': 'zip',
'Прочее': 'other',
}
},
// Конец настроек для блока с формой
// Добавьте еще блоки по аналогии
};
// Не менять код ниже этого комментария
function handleRadioSelection(){Object.keys(formSettings).forEach(e=>{let t=formSettings[e],i=document.querySelector(e);if(i){let n=i.querySelector("form");if(n){let o=n.querySelectorAll('input[type="radio"]');function r(e){t.inputNamesToHide.forEach(i=>{let o=n.querySelector(`input[name="${i}"]`);if(o){let r=o.closest(".t-input-group");r&&(t.radioValuesMapping[e]===i?(r.style.display="block",r.classList.add("main-input-visible"),r.classList.remove("main-input-hidden"),o.setAttribute("data-tilda-req","1"),o.setAttribute("aria-required","true")):(r.style.display="none",r.classList.add("main-input-hidden"),r.classList.remove("main-input-visible"),o.removeAttribute("data-tilda-req"),o.removeAttribute("aria-required")))}})}let a=n.querySelector('input[type="radio"]:checked');a&&r(a.value),o.forEach(e=>{e.addEventListener("change",function(){r(this.value)})})}}}),!function e(){if(document.querySelector("#anku-form-choise-script"))return;let t=document.createElement("style");t.id="anku-form-choise-script",t.innerHTML=".main-input-hidden{display:none!important;}.main-input-visible{display:block!important;}";let i=document.querySelector("#allrecords");i?i.appendChild(t):console.error("#allrecords не найден на странице.")}()}function handleRadioSelectionForRecord396(){formSectionSelectors.forEach(e=>{let t=document.querySelector(e);t&&"396"===t.getAttribute("data-record-type")&&window.addEventListener("load",function(){t_onReady(function(){t_onFuncLoad("t396_init",function(){setTimeout(()=>{handleRadioSelection()},100)})})})})}function initANKUformsChoise(){handleRadioSelection(),handleRadioSelectionForRecord396(),console.log("Хочешь сделать формы с выбором полей в Tilda, смотри эту статью: https://anku.one/add-input")}"loading"!==document.readyState?initANKUformsChoise():document.addEventListener("DOMContentLoaded",function(){initANKUformsChoise()});
</script>