in reply to popup_menu attributes

This will depend heavilly on the module that you're using, but looks like you forgot to tell us which one is.

Supposing that you're talking about CGI.pm, then you may know that almost all HTML tags generated by it doesn't have a written method/function but are created on the fly.

For example, if you do:

use CGI; my $cgi = new CGI; print $cgi->br, $cgi->start_br, $cgi->end_br, "\n";

Will print:

<br /><br></br>

Using the same idea I got the code below:

use warnings; use strict; use CGI; my $cgi = new CGI; my $n = 1; my @COLUMN_TYPES = qw ( one two three four five ); my %attributes = ( 'onChange' => 'displaydbfields(' . $n . ')', 'id' => 'coltype' . $n, ); my $col = { type => 'some type' }; print $cgi->popup_menu( -id => 'coltype' . $n, -name => 'type', -values => \@COLUMN_TYPES, -default => $col->{type}, -attributes => \%attributes, ), "\n";

Which prints:

<select name="type" tabindex="1" id="coltype1"> <option value="one">one</option> <option value="two">two</option> <option value="three">three</option> <option value="four">four</option> <option value="five">five</option> </select>
Alceu Rodrigues de Freitas Junior
---------------------------------
"You have enemies? Good. That means you've stood up for something, sometime in your life." - Sir Winston Churchill

Replies are listed 'Best First'.
Re^2: popup_menu attributes
by JohnMed (Initiate) on Jan 30, 2006 at 13:54 UTC
    Sorry I didn't include the module I was using. I'm still very new to Perl and I forget that there are a several ways to do almost anything.

    Your response was very helpful. I now have the attributes where they are needed.

    Cheers.