Форма с вариативным набором полей. Создание универсальных форм на сайте
В форме есть несколько полей, видимость которых зависит от других полей.
Видимость полей f2,3,4 зависит от поля f1
Для реализации используем подобную разметку формы:
{form-title}
{colwithlabel-f1}
<div class="f2 hide">{colwithlabel-f2}</div>
<div class="f3 hide">{colwithlabel-f3}</div>
<div class="f4 hide">{colwithlabel-f4}</div>
{form-button}
В CheckField устанавливаем видимость зависимых элементов:
CREATE PROCEDURE [dbo].[fm_watch_varyFields_checkItemField]
@itemID int,
@username nvarchar(256),
@field nvarchar(256),
@value nvarchar(max)
AS
BEGIN
if(@field='f1')begin
if(@value='1') begin
select '' Msg, 1 Result, '.f2,.f3' ShowContainer, '.f4' HideContainer
return
end
if(@value='2') begin
select '' Msg, 1 Result, '.f3' ShowContainer, '.f2,.f4' HideContainer
return
end
if(@value='3') begin
select '' Msg, 1 Result, '.f4' ShowContainer, '.f2,.f3' HideContainer
return
end
end
-- SELECT 1
select '' Msg, 1 Result, '' ShowContainer, '' HideContainer, '' RefreshContainer,
'' ReplaceContainer, '' ReplaceContainerHtml
END
Важный момент. Чтобы при первой загрузке сразу обрабатывался верно CheckField для f1 необходимо в GetItem формы прописать в SELECT 2 'f1' changeTriggerFieldOnLoad
CREATE PROCEDURE [dbo].[fm_watch_varyFields_getItem]
@itemID int,
@username nvarchar(256)
AS
BEGIN
select 1
select 'h3' headerTag, 'f1' changeTriggerFieldOnLoad
END
Другие модули
Редактирование одиночных полей формы в личном кабинете
Цвет фона формы. Как изменить фон формы на сайте
Работа с буфером обмена на сайте. Как скопировать текст в буфер обмена
Обновление содержимого страницы сайта (Refresh container). Перезагрузка части страницы
Последние обновления
Файлы и документы 10.01.2025
Форма 01.11.2024
Форма 23.10.2024
Форма 13.08.2024
Таблица 03.06.2024
Таблица 23.09.2023
15.09.2023
Визуализация 02.08.2023
Визуализация 02.08.2023
Визуализация 01.08.2023
Таблица 18.03.2023
Форма 19.12.2022
Таблица 06.12.2022
Форма 01.12.2022
Форма 21.11.2022
Форма 17.11.2022
Форма 10.11.2022
SQL-инструмент для создания личных кабинетов на сайте
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства