[html-formfu] Populating $form_input with 'select' element
options?
Carl Franks
fireartist at gmail.com
Fri Nov 4 18:48:06 GMT 2011
On 4 November 2011 17:41, J. Bobby Lopez <bobby.lopez at gmail.com> wrote:
> Hello,
>
> I'm trying to understand the data-structure required to populate a
> form with 'select' element values (options).
>
> When I dump (Data::Dumper) the FormFu object, I see that the structure
> looks similar to the following:
>
>
> 'name' => 'EmailDL',
>
> '_options' => [
>
> {
>
> 'label_attributes' => {},
>
> 'value' => 'm',
>
> 'container_attributes' => {},
>
> 'label' => 'Male',
>
> 'attributes' => {}
>
> },
>
> {
>
> 'label_attributes' => {},
>
> 'value' => 'f',
>
> 'container_attributes' => {},
>
> 'label' => 'Female',
>
> 'attributes' => {}
>
> }
>
> ],
>
> Seeing this, I figured that the way to structure $form_input (being
> that $form_input = \%cgivars) would be something like the following:
>
> 'Firstname' => 'Faisal',
> 'EmailDL' => [
> {
> 'value' => 'myvalue',
> 'label' => 'mylabel'
> }
> ],
>
> However this doesn't seem to work. I've found that structuring
> $form_input correctly, and then issuing a
> $fu->default_values($form_input) to be simple and effective, except in
> this instance when I'm trying to include the select/options
> sub-structure.
>
> So the question is: How should I structure 'EmailDL' above to
> correctly populate 'select' options when doing
> $fu->default_values($form_input) or $fu->process($form_input) ?
Hi,
You can't use default_values() to populate a Select element.
You need to use options() or values().
You can then call default_values() to state which select item will be
selected by default when the form is first displayed.
See these docs:
http://search.cpan.org/~perler/HTML-FormFu-0.09005/lib/HTML/FormFu/Role/Element/Group.pm#options
http://search.cpan.org/~perler/HTML-FormFu-0.09005/lib/HTML/FormFu/Role/Element/Group.pm#values
http://search.cpan.org/~perler/HTML-FormFu-0.09005/lib/HTML/FormFu.pm#default_values
Hope this helps,
Carl
More information about the HTML-FormFu
mailing list