Добавляйте поля ввода в зависимости от состояния с помощью Gravity Forms

В Gravity Forms у меня есть форма, содержащая несколько полей ввода, запрашивающих количество комнат для каждого типа комнаты.

Как я могу динамически добавлять поля ввода для количества каждого контента в комнате? Например, если предыдущее поле ввода было введено как Спальни: 2

Тогда как я могу динамически добавить раздел или таблицу, запрашивающую количество содержимого для каждой комнаты, например:

Спальня 1
Кровать (Вид): n
Кровать (Queen): n
Содержимое N: n...

Спальня 2
Кровать (Вид): n
Кровать (Queen): n
Содержание N: n...

Есть ли расширенное поле для этого? Я думаю, мне может понадобиться использовать JS для этого? Если да, то как я могу убедиться, что эти поля видны в записях?

Я думаю об использовании таблицы, но не знаю, как это сделать с Gravity Forms.


person Qwerty    schedule 15.03.2014    source источник
comment
Не уверен в этом, но рассматривали ли вы возможность использования условной логики? Если я правильно помню, это встроенная функция, но эффективно она будет работать примерно так: показывать только секцию спальни 1, если no_of_room больше или равно 1, а затем показывать только секцию спальни 2, если no_of_room больше или равно 2. Изначально было думаю о функции динамического населения, но не уверен, что она действительно применима в этом случае.   -  person Flick    schedule 16.03.2014
comment
Ага, я тоже об этом подумал. Но если у меня разрешено не более 10 номеров комнат, мне нужно будет настроить 10 или около того условных логических полей и полей ввода, верно?!   -  person Qwerty    schedule 16.03.2014
comment
Как можно было бы показать разделы? Как вы упомянули, раздел «Спальня N», который объединяет поля ввода для количества содержимого в комнате ... можно ли сгруппировать их в раздел в Gravity Form? Если да, то как?   -  person Qwerty    schedule 16.03.2014
comment
gravityhelp.com/documentation/page/Section_Break Не могу сказать, есть ли несколько разделов это лучший путь вперед, хотя. Еще одним вариантом может быть создание следующих полей с повторяющимся списком: gravityhelp.com/documentation/page/List (и изменить их на другие типы, используя, например, gravityhelp.com/documentation/page/Gform_column_input< /а>)   -  person Flick    schedule 17.03.2014


Ответы (1)


Лучше всего использовать поле списка . Вы можете включить несколько столбцов для каждой функции спальни (например, «Кровать (король)», «Кровать (королева)», «Содержимое» и т. д.), и тогда каждая спальня будет представлена ​​строкой в ​​поле списка. Пользователь может добавлять/удалять спальни с помощью пользовательского интерфейса плюс/минус в конце каждой строки.

В качестве альтернативы, если у вас будет большое количество полей в строке, у меня есть перк в работах под названием «Вложенные формы GP». Немного проще показать, как это работает, чем объяснить (см. видео ниже), но основная цель — простой способ включения форм приличного размера в другие формы, особенно когда вам нужно добавить несколько экземпляров дочерней формы.

http://www.screencast.com/t/p7sAHutMVfG

Если это вас интересует, вы можете получить копию Gravity Perks здесь, и я могу отправить вам копию перка «Вложенные формы» (еще не общедоступно).

Изменить

Это было дополнительно отполировано здесь:

https://gravitywiz.com/documentation/gravity-forms-nested-forms/< /а>

person Dave from Gravity Wiz    schedule 17.03.2014
comment
Таким образом, расположение столбцов в 1 строке не было бы идеальным... Хотя мне нравится эта реализация: gravitywiz.com/require-all-columns-of-list-field Не уверен, как бы я сделал это с множеством полей функций/содержимого для каждой комнаты - person Qwerty; 18.03.2014
comment
Что касается дочерней формы, не могли бы вы предоставить бонус, о котором вы упоминаете, добровольно? Или я должен купить всю копию пакета? Мне просто нужна эта одна функциональность .. - person Qwerty; 18.03.2014
comment
Вместо этого я буду использовать поле списка, как вы предложили. Я хотел бы знать следующее, чтобы настроить поле списка: как я могу изменить тип ввода полей в списке на число вместо текстового типа? Добавить текст в начале каждой строки, чтобы я получал «Комната 1», «Комната 2» и т. д. для каждой строки… после добавления строк? Распределяйте столбцы равномерно, а не в зависимости от текста заголовка каждого столбца? - person Qwerty; 19.03.2014