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'][''] 就可以解决问题了。

发表评论

邮箱地址不会被公开。 必填项已用*标注

机器人检查 *

分享我的最新文章标题到这里

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据