in reply to CGI.pm and dynamic dropdown menus
But that takes you down the road of outputting HTML via CGI.pm, which will eventually make you want to take your own life. Better would be to use a template like HTML::Template and just output different values to the template on each refresh. Best solution though is probably either a pure JS or an AJAX-style solution (as already suggested), as it presents a better experience for the user.my %options = ( main => ["option1", "option2", "option3"], option1 => ["option1a", "option1b", "option1c"], option2 => ["option2a", "option2b", "option2c"], option3 => ["option3a", "option3b", "option3c"] ); if ( !param() ) { $values_ref = $options{'main'}; } else { $values_ref = $options{param('distros_menu')}; } print start_form(); print popup_menu( -name => 'distros_menu', -values => $values_ref, ); print submit('which_distro_button'); print endform;
Gary Blackburn
Trained Killer
|
---|