drupal: API формы, динамически скрывать или показывать поля на основе ввода
Я строю модуль формы. Одним из ранних полей является набор переключателей. По умолчанию выбрана первая кнопка. Далее у меня будет серия блоков выбора. Одни должны быть видны, другие невидимы. Затем, когда пользователь выбирает другую кнопку-переключатель, я хочу, чтобы различные поля выбора отображались или скрывались. Как я могу скрыть поле и метку по умолчанию и показать его позже в зависимости от того, какой переключатель (или другой параметр выбора в этом случае выбран)?
3 ответа
Вы можете использовать #states
свойство для достижения этого. #states
свойство может быть применено ко всем элементам API формы.
Вот ссылка на документацию с примером.
Надеюсь, это поможет... Мухаммед.
Простой пример использования #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'),
),
),
);
Вы также можете использовать модуль "Условные поля". Вот ссылка: https://drupal.org/project/conditional_fields Она предоставляет вкладку "Управление зависимостями" при создании типа контента, где вы можете выбрать, какие поля будут отображаться, когда поле имеет определенное значение.