Условия видимости полей

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

О том, какие бывают условия и как настроить логику работы этой функции, мы расскажем в этой статье.
Для того, чтобы приступить к настройке, перейдите в Контент блока во вкладку «Поля для ввода».
В карточке поля нажмите на кнопку «Еще».
Появится настройка «Условие видимости». Нажмите на кнопку «Добавить условие».

Как работают условия

После создания условия нужно выбрать, что будет делать условие — показывать или скрывать поле. После этого можно формулировать условия.


В первом поле «Если в» нужно выбрать поле, по которому будет идти сравнение значения в нем. То есть, если мы выбрали строковое поле, например, Email, то все условия дальше будут анализировать, что посетитель ввел в этом поле

В поле «Значение» мы выбираем условие, по которому будем сравнивать. Для каждого типа поля варианты сравнения будут разными.

В третьем поле нужно прописать значение, по которому идет сравнение, если оно доступно (текст, число, значения промежутка).

Особенности работы условий для разных типов полей

Для строк мы можем полностью сравнить значение, проверить на совпадение часть строки или проверить, указано ли в поле хоть что-то.

Если значение сравнивается с другой строкой, то обе строки приводятся к нижнему регистру и у них удаляются лишние пробелы в начале и в конце.

Если в условии указано поле для ввода в несколько строк,то при сравнении строка приводится к нижнему регистру, символы переноса заменяются на пробелы и убираются лишние пробелы в начале и в конце строки.
Для числовых значений мы можем уточнить, входит ли число в определенный нами промежуток (равенство определенному числу, больше или меньше ли оно числа (с возможным равенством) или входит ли оно в заданный нами интервал от числа до числа).
Для полей с выбором значения мы можем добавить условие, выбрано ли в поле определенное нами значение. Значение поля «Вопрос с вариантами ответа в виде картинок» сравнивается либо по подписи под текстом (если она указана), либо по ссылкам на изображение (если подпись не указана).

То есть поля с одинаковой подписью будут считаться одинаковым, и выбор любого из таких полей будет вызывать срабатывание условия. Чтобы условия с использованием этого поля работали правильно, нужно указывать разные подписи под фото или не указывать их вовсе.
Для полей типа Галочка или Файл можно уточнить, нажата ли галочка и загружен ли файл.
Всего для одного поля можно добавить 50 условий.

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

Особенности работы при редактировании полей формы

  • При перемещении (вверх, вниз), удалении, дублировании или изменении порядка полей внутри Контента блока набор доступных полей пересчитывается. Если в условии используется поле, которое после изменения порядка стало недоступно, то это условие сбрасывается.
  • При дублировании поля, вместе со всеми настройками дублируются и условия видимости поля. Если поле выключено, то оно не будет учитываться в условиях.
  • При смене типа поля, условия с использованием этого поля будут сброшены до значения по умолчанию для нового типа поля: в них не будет задано никакого значения.
  • Если в условии задано пустое значение, то это условие не будет учитываться.

Особенности работы формы с условиями на опубликованной странице

  • При отправке формы скрытые за условиями поля не отправляются. Если поле скрыто за условием, то считается, что этого поля нет.
  • Если обязательное поле скрыто за условием, то считается, что этого поля нет и форму можно будет отправить.
  • Если указано действие «Показать это поле» и условие срабатывает, то это поле появится на том месте, на котором оно стоит в разделе «Поля для ввода».
  • Условия просчитываются при инициализации формы и после подтверждения изменения в полях (убран фокус, нажат enter и т.д.).
  • Если в условии указано скрытое поле, то поле с таким условием не будет отображаться. Условия для него начнут работать, только когда целевое поле из условия будет отрисовано на экране. Это сделано, чтобы проще было формировать ветки условных полей.
  • В обычных формах нажатие на кнопку Enter после ввода значения в последнее поле приводит к отправке формы. Но в случае если после изменения значения какого-либо поля в форму были добавлены новые поля (и их условия выполняются), то следующее нажатие на Enter будет заблокировано. Это сделано, чтобы посетитель сайта смог увидеть изменения в форме до ее отправки.

Особенности работы для пошаговой формы

Если на шаге формы скрыты все поля, то скрывается весь шаг целиком. Скрытые шаги не учитываются в отображении счетчика и прогресса.

Шаги формы пересчитываются после каждого изменения в условных полях. Счетчик шагов и текущий прогресс пересчитываются вместе с шагами формы.
Кнопки на текущем шаге (Вперед, Назад, Отправить) изменяются вместе с пересчетом шагов. Это нужно, чтобы последний шаг мог становиться не последним и наоборот.

Пошаговая условная форма переключается только между теми шагами, на которых есть видимые поля.

Пример ветвления полей

Ответьте на несколько вопросов, чтобы записаться на тренировку
Оставьте контактные данные, мы вам перезвоним с персональным предложением
Какую цель ставите перед собой, занимаясь в фитнес-клубе?
Какие тренировки нравятся вам больше всего?
Какие тренировки нравятся вам больше всего?
Какие тренировки нравятся вам больше всего?
Выберите тренера по силовым нагрузкам и выносливости
Выберите тренера по велотренировкам и бегу
Выберите тренера по растяжке и танцам
Как вы оцениваете свой уровень физической активности?
В какое время вам удобно заниматься?
Ниже представлена блок-схема иллюстрирующая ветвление полей в этом примере, по клику изображение можно увеличить.

Ветвление начинается с первого вопроса и продолжается на втором.
Made on
Tilda