0

我正在使用HTML::FormHandler并动态构建表单,如下所示:

my $form = HTML::FormHandler->new(
          name => 'types',
          field_list => [
              parent_id => {
                  type => 'Select',
                  label => 'Parent',
                  required => 1,
                  options => [{value=>'test',label=>'test'}],
              },
          ],
);

每当我像上面那样只传递一个选项时,这就是为表单呈现的输出:

<select name="parent_id" id="parent_id">  
    <option id="parent_id.0" value="test">  </option>  
    <option id="parent_id.1" value="test">  </option>
</select>

但是,结果输出应该是:

<select name="parent_id" id="parent_id">  
    <option id="parent_id.0" value="test">test</option>  
</select>

但是一旦我添加了一个选项,例如:

options => [{value=>'test',label=>'test'},{value=>'test2',label=>'test2'}],

然后输出正确呈现并变为:

<select name="parent_id" id="parent_id">  
    <option id="parent_id.0" value="test">test</option>  
    <option id="parent_id.1" value="test2">test2</option>
</select>

这是HTML::FormHandler' 部分的错误,还是我在这里遗漏了什么?谢谢!

4

1 回答 1

0

可能选择类型至少需要两个选项。如果您必须使用 select 来选择一个选项,并且不能使用复选框或单选按钮(例如,如果选择列表是动态生成的),您是否可以将第一个选项设置为默认的非值,并带有“请选择”。 ..' 标签。

于 2013-03-15T10:06:10.853 回答