Форма

Условный показ полей

Обновлено

Поле можно показывать не всегда, а по ответу в другом поле. Классический пример: «Название компании» появляется, только если в «Тип клиента» выбрано «Юридическое лицо». Форма остаётся короткой, но собирает всё нужное.

Как настроить

Условие задаётся в настройках самого поля — того, которое должно появляться. Нужно указать три вещи:

  • поле-источник — за каким полем следим;
  • оператор — как сравниваем;
  • значение — с чем сравниваем.

Операторы

ОператорКогда поле показывается
равноВ источнике выбрано ровно это значение
не равноВ источнике выбрано что угодно, кроме этого
содержитЗначение источника содержит указанный текст. Регистр не важен
заполненоВ источнике что-нибудь есть
пустоИсточник не заполнен

Если источник — группа флажков, в нём может быть отмечено несколько значений сразу. Оператор «равно» в этом случае ищет указанное значение среди отмеченных.

Что происходит со скрытым полем

Это самое важное в механизме: скрытое поле не проверяется и в заявку не попадает.

Иначе обязательное поле, спрятанное условием, сделало бы форму неотправляемой — посетитель видит короткую форму, жмёт «Отправить», а она молча требует заполнить то, чего на экране нет. И наоборот: значение, которого посетитель не видел, не должно уезжать в заявку, письмо и CRM.

При этом введённый текст никуда не пропадает: он остаётся в разметке страницы. Вернулось условие — вернулось и значение, перенабирать не нужно.

Цепочки условий

Поле-источник само может быть скрыто по условию: «А открывает Б, Б открывает В». Приложение считает такую цепочку до устойчивого состояния — скрытое поле-источник считается пустым.

Кольцевые ссылки форму не ломают: число проходов ограничено количеством условий.

Два случая условием не считаются, и в обоих поле остаётся видимым:

  • ссылка поля на само себя;
  • ссылка на поле, которое удалили.

Так сделано намеренно: лишнее поле на экране заметить легче, чем пропавшее.

Копирование формы

Условия переносятся вместе с формой. При копировании поля получают новые номера, и приложение переписывает ссылки в условиях на них — иначе условие в копии указывало бы на поля исходной формы.

То же самое происходит при импорте формы из файла: ссылки чинятся по карте соответствия полей. Подробнее — в статье «Перенос форм между сайтами».