Давайте рассмотрим пример настройки условий для полей. Пользователю должен быть предложен выбор действий с недвижимостью. В зависимости от выбранного пункта, будут отображаться необходимые поля. В схеме показано: если пользователь выбрал "Аренду недвижимости" или "Покупку недвижимости" или "Продажа недвижимости", то в следующем шаге будет представлена возможность выбора категории недвижимости: квартира на вторичном рынке, новострой и частный дом.
При условие, если выбрано "Аренда недвижимости" или "Покупка недвижимости" и в следующем шаге: "Квартира на вторичном рынке" или "Новострой", то пользователю будет предложен блок с выбором этажности недвижимости и блок с количеством комнат. После пользователю нужно будет заполнить свои данные в полях: "ФИО", "Контактный телефон" и "E-mail".
Если пользователь выбрал "Продажа" и "Квартира на вторичном рынке" или "Новострой", то попадает также в блок с контактными данными. А если выбрал любой вариант в первом блоке и "Частный дом" во втором блоке вариантов, то пользьватель попадёт в блок с площадью участка и далее в блок с контактными данными.
Теперь в личном кабинете в форму добавим элементы: "Переключатели", "Чекбоксы", "ФИО", "Поле для ввода телефона" и "Поле для ввода E-mail". Для этого кликните на необходимый элемент и он появится в рабочем поле:
Изменим стандартные названия вариантов и добавим необходимое количество, кликнув на иконку редактировать:
Когда добавили варианты ответов, поля для ввода ФИО, контактного номера и e-mail, переходим во вкладку "Логика" в пункт "Правила для полей формы".
На данный момент у нас нет ни одного правила и после нажатия кнопки "Добавить правило", перед нами откроется следующее окно:
Нам нужно выбрать условие, чтобы при выборе варианта ответа с помощью переключателя "Операция с надвижимостью", были показаны нужные чекбоксы. Чтобы добавить дополнительное логическое устловие "И", "ИЛИ", необходимо кликнуть иконку "+Добавить условие":
Здесь стоит отметить, что если мы задаём условия из разных блоков, то должны использовать логическое "И". А для группировки условий использовать логическое "ИЛИ".
После добавления условий отображения блока "Желаемый этаж", необходимо нажать кнопку "Сохранить". Далее получим такой вид условий:
Согласно схеме добавим условия отображения чекбоксов "Тип жилья":
Получим следующее правило, используя логическое "ИЛИ" что при выборе варианта переключателя "Операция с недвижимостью", показать выбор вариантов ответа чекбоксов "Тип жилья":
Теперь зададим правила для блока "Желаемый этаж":
Если пользователь выберет один из вариантов этажности дома, то необходимо отобразить следующий шаг - "Количество комнат", согласно схеме. Сохраните добавленное правило, нажав кнопку "Сохранить":
Когда пользователь выберет необходимый вариант с помощью чекбоксов в блоке "Количество комнат", то должен быть направлен в блок получения контактной информации. Поэтому нужно добавить правило отображения для этого условия:
В результате добавленное правило будет выглядеть так:
Теперь по схеме добавим ещё условия при выборе варианта ответа "Продажа" из блока "Операция с недвижимости" и вариантов ответа "Квартира на вторичном рынке" и "Новострой" из блока "Тип недвижимости", отобразить блок с контактными данными, поэтому мы заходим в редактирование правила:
Здесь также используем логическое "И" для группировки разных элементов (блоков вариантов) и логическое "ИЛИ" для группировки комбинаций из логических "И":
По схеме осталось создать правила отображения "Площадь участка" при выборе из вариантов ответа блока "Операции с недвижимостью" и варианта ответа "Частный дом" из блока "Тип жилья":
Т.к. выше мы добавляли правило показа "Тип жилья", следовательно мы добавляем правило отображения для "Частного дома":
После того, как выбрали варианты ответа из блока "Площадь участка", то добавим соответствующее условие для получения контактной информации:
В итоге получим необходимое действие и при выборе вариантов ответа "Площадь участка":
Стоит отметить, что здесь мы не нарушили правила отображения одних полей, они не пересекаются с другими правилами. Т.е. если бы мы сделали 3 правила и показали бы блоки с контактной информацией, то данные мы бы не получили с контактной информацией пользователя, заполнившего форму.
Важно!
При создании правил для полей формы нужно понимать, что если условие в правиле выполняется, то срабатывает заданное действие, например, показывается поле, но если условие не срабатывает, то происходит обратное действие и поле скрывается. Поэтому не нужно создавать несколько правил отдельно для отображения поля и отдельное правило для скрытия его.
Также очень часто пользователи допускают ошибку и размещают в разных правилах в действии одинаковые поля. Это неверно! Ведь если одно правило сработает и выполнится действие, то второе правило не сработает и произойдет обратное действие. Из-за чего вы можете подумать что правила не работают.
Чтобы этого не происходило необходимо группировать такие условия в одно правило через логическое "ИЛИ" и настраивать действие только для одного поля. Таким образом мы добиваемся однозначного действия над полем и оно будет либо отображаться, либо скрываться.