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'}],
              },
          ],
);

上記のように 1 つのオプションのみを渡すと、フォームに対してレンダリングされる出力が次のようになります。

<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>

しかし、次のようなオプションをもう 1 つ追加すると、次のようになります。

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

おそらく、選択タイプは最低 2 つのオプションを想定しています。1 つのオプションを選択するために選択を使用する必要があり、チェックボックスまたはラジオ ボタンを使用できない場合 (たとえば、選択リストが動的に生成される場合)、最初のオプションを「選択してください。 ..' ラベル。

于 2013-03-15T10:06:10.853 に答える