2013-03-15 1 views
0

Я использую HTML::FormHandler и построение формы динамически так: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 'части s, или Тереза ​​что-то я m отсутствует здесь? Благодаря!

+0

не может воспроизвести вашу проблему на моем mac 10.8.2, perl 5.16.1 – Alec

+0

@Alec, hmm interesting. Я на centos 6.3 с perl 5.10.1. – srchulo

ответ

0

Возможно, тип выбора предполагает как минимум два параметра. Если вы должны использовать выбор для выбора одного параметра и не можете использовать флажок или переключатель (если, например, список выбора динамически сгенерирован), вы можете установить первый вариант как невыполненную по умолчанию значение с «выберите». ..' метка.