drupal:表单API,根据输入动态隐藏或显示字段

时间:2012-10-05 19:42:08

标签: php drupal drupal-7 drupal-fapi drupal-forms

我正在构建一个表单模块。其中一个早期字段是一组单选按钮。默认情况下,选择第一个按钮。接下来我将有一系列选择框。一个人需要看得见,其他人看不见。然后,当用户选择不同的单选按钮时,我希望显示或隐藏不同的选择框。如何在默认情况下隐藏字段和标签,并在以后根据选择哪个单选按钮(或其他选择框选项)显示它?

3 个答案:

答案 0 :(得分:18)

您可以使用#states属性来实现这一目标。 #states属性可以应用于所有Form API元素。

以下是documentation link的示例。

希望这有帮助......穆罕默德。

答案 1 :(得分:12)

#states的简单用法示例:仅当名为“type”的另一个字段的值为“sell”时,才显示名为“item”的选择字段

$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'),
            ),
        ),
    );

答案 2 :(得分:1)

您还可以使用“条件字段”模块。 这是链接:https://drupal.org/project/conditional_fields 它在创建内容类型时提供“管理依赖关系”选项卡,您可以在其中选择当字段具有特定值时可见的字段。