【问题标题】:submit button appears only after selection from the dropdown list doesn't work - drupal 7提交按钮仅在从下拉列表中选择后才出现 - drupal 7
【发布时间】:2013-02-03 12:08:13
【问题描述】:

从下拉选择列表中选择后出现提交按钮,

谁能帮我理解为什么它不起作用?

$form['user_fields']['optinal_packages'] =  array(
    '#type' => 'select',
    '#title' => t('Optional Packages'),
    '#options' => $packages_array,  
    //'#weight' => 15,
    '#description' => t('Please press the "Push" button to update device package.'),    
    '#default_value' =>  -1,
   );



$form['user_fields']['push'] = array(
    '#type' => 'submit',
    '#value' => t('Push'),
    // '#weight' => 16,
    '#prefix' => '<div id="phone_user_push_package">',
    '#suffix' => '</div>',
    '#states' => array(
        'visible' => array(     // Action to take: Make visible.
        //':input[name="optinal_packages"]' => array('!value' => '-1'),
        'select[name="optinal_packages"]' => array('!value' => '-1'),
        ),
    ),
);

谢谢 布施

【问题讨论】:

    标签: drupal drupal-7 drupal-fapi


    【解决方案1】:

    将代码改为

    $form['user_fields']['push'] = array(
        '#type' => 'submit',
        '#value' => t('Push'),
        // '#weight' => 16,
        '#prefix' => '<div id="phone_user_push_package">',
        '#suffix' => '</div>',
        '#states' => array(
            'invisible' => array( // edited line
                ':select[name="optinal_packages"]' => array('value' => '-1'), // edited line
            ),
        ),
    );
    

    select[name="optinal_packages"] 更改为:select[name="optinal_packages"]。如果不起作用,请尝试将选择器更改为类似 CSS 的 #edit-optinal-packages

    因此代码将是:

    '#edit-optinal-packages' => array('value' => '-1'),
    

    【讨论】:

    • 您的选择选项中有-1 值吗?
    • 尝试将-1改为NULL
    • 我将 -1 定义为 '#default_value' => -1,
    • 并且下拉数组在 -1 位置有“-Select Package”选项
    • 请重新检查答案。
    猜你喜欢
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多