【问题标题】:HTML::FormHandler just 1 option not rendering correctlyHTML::FormHandler 只有 1 个选项无法正确呈现
【发布时间】:2013-03-03 16:29:55
【问题描述】:

我正在使用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 的错误,还是我在这里遗漏了什么?谢谢!

【问题讨论】:

  • 无法在我的 mac 10.8.2、perl 5.16.1 上重现您的问题
  • @Alec,嗯,很有趣。我在使用 perl 5.10.1 的 centos 6.3。

标签: perl render forms catalyst


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多