html: select 多选时只能提交一个值的原因
在drupal 6中自定义表单,设置了一个multiple select,但是在提交表单时,发现虽然选择了多个值,但是都只传递了一个值。
最初定义如下:
$fields['event']['roles'] = array(
'#title' => '用户类型',
'#type' => 'select',
'#required' => TRUE,
'#options' => array(1=>'Type1',2=>'Type2'),
'#size' => 2,
'#attributes' => array(multiple=>"multiple",),
);
生成的HTML为:
<select name="event[roles]" multiple="multiple" class="form-select required" id="edit-event-roles-" size="2"><option value="1">Type1</option><option value="2">Type2</option></select>
解决办法:
将 $fields['event']['roles'] 修改为 $fields['event']['roles'][''] 就可以解决问题了。