Drupal Multiupload Filefield Widget与mutiselect ajax下拉列表冲突

时间:2015-07-20 11:14:57

标签: php drupal-7 drupal-ajax

我使用 Multiupload Filefield Widget 在我的节点中创建了一个multiupload字段。我正在使用下面的代码来更改默认节点表单。

有一个基于ajax的依赖下拉字段的形式,即城市依赖于国家。当我选择一个国家时,表格工作正常。但是当我从国家/地区列表中选择多个值时,我会收到以下错误:

检测到非法选择。请联系网站管理员。

当存在multiupload表单元素时,我收到此特定错误。当我从$ form中删除元素时,它可以正常工作,具有多个选定值。

请帮我解决这个问题。谢谢!

function mymodule_form_alter(&$form, &$form_state, $form_id) {
    switch ($form_id) {
        case 'mynode_node_form':
            $country_list = load_countries();
            $selected_country = (isset($form_state['values']['country'])) ? $form_state['values']['country'] : key($country_list); 

            $form['countries'] = array(
                '#type' => 'select',
                '#title' => t('Select Your Country'),
                '#options' => $country_list,
                '#default_value' => $selected_country ,
                '#ajax' => array(
                    'callback' => 'city_dropdown_callback',
                    'wrapper' => 'city_wrapper',
                ),
                '#multiple' => TRUE,
                '#required' => TRUE,
            );

            $cities_list = load_cities($selected_country);
            $selected_cities = (isset($form_state['values']['cities'])) ? $form_state['values']['cities'] : key($cities_list);
            $form['cities'] = array(
                '#type' => 'select',
                '#title' => t('Select Your City'),
                '#prefix' => '<div id="city_wrapper">',
                '#suffix' => '</div>',
                '#options' => $cities_list,
                '#default_value' => $selected_cities,
                '#multiple' => TRUE,
                '#required' => TRUE,
            );

    }
}
function city_dropdown_callback($form,$form_state){
    return $form['cities'];
}

0 个答案:

没有答案