2013-03-15 1 views
0

J'utilise HTML::FormHandler et la construction de la forme dynamique comme ceci:HTML :: FormHandler seulement 1 option de ne pas rendre correctement

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

Chaque fois que je passe seulement dans une option comme ci-dessus, c'est la sortie qui est rendu pour la forme:

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

Cependant, la sortie résultante doit être:

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

Mais une fois que j'ajouter une option supplémentaire, comme ceci:

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

Ensuite, la sortie rend correctement et devient:

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

Est-ce un bug sur HTML::FormHandler fait partie de, ou est Theres quelque chose que je Je manque ici? Merci!

+0

ne peut pas reproduire votre problème sur mon mac 10.8.2, perl 5.16.1 – Alec

+0

@Alec, hmm intéressant. Je suis sur centos 6.3 avec perl 5.10.1. – srchulo

Répondre

0

Il est possible que le type de sélection exige au moins deux options. Si vous devez utiliser la sélection de sélectionner une option et ne pouvez pas utiliser une case à cocher ou un bouton radio (si par exemple la liste de sélection est générée dynamiquement), vous pouvez définir la première option comme non-valeur par défaut en sélectionnant. .. 'étiquette.

Questions connexes