drupal: форма API, динамически скрывать или показывать поля на основе ввода
Я создаю модуль формы. Одним из ранних полей является набор переключателей. По умолчанию выбрана первая кнопка. Далее у меня будет ряд выбранных полей. Одни должны быть видимыми, другие-невидимыми. Затем, когда пользователь выбирает другой переключатель, я хочу, чтобы разные поля выбора отображались или скрывались. Как я могу скрыть поле и метку по умолчанию и показать его позже в зависимости от того, какой переключатель (или другой вариант выбора) выбран?

Ответы - drupal: форма API, динамически скрывать или показывать поля на основе ввода / drupal: Form API, dynamically hide or show fields based on input

06.10.2012 05:48:15
Вы можете использовать #states
собственность, чтобы добиться этого. Свойство #states
может быть применено ко всем элементам API формы.
Вот ссылка на документацию с примером.




20.06.2013 10:16:57
Вы также можете использовать модуль "условные поля". Вот ссылка: https://drupal.org/project/conditional_fields Он предоставляет вкладку "управление зависимостями" при создании типа контента, где вы можете выбрать, какие поля должны быть видны, когда поле имеет определенное значение.

24.06.2014 09:30:51
простой пример использования #states: показывать поле выбора с именем 'item' только в том случае, если другое поле с именем 'type' имеет значение 'sell'
$form['item'] = array(
'#title' => t('Task Item'),
'#type' => 'select',
'#states' => array(
// Only show this field when the value of type is sell.
'visible' => array(
':input[name="type"]' => array('value' => 'sell'),
),
),
);
