我使用 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'];
}