The following module was proposed for inclusion in the Module List:
modid: CGI::FormBuilder DSLIP: RdpOa description: Easily generate and process stateful forms userid: NWIGER (Nathan Wiger) chapterid: 15 (World_Wide_Web_HTML_HTTP_CGI) communities: Much discussion w/i organization, want to estab mail list similar: None really; many form modules but none do what this does rationale: This module stands apart from other CGI modules in that it has a lot of intelligence builtin. You don't address form fields as "checkbox" or "input", but rather just "field". The module takes care of deciding what is the best rep for the data, keeping multi-value/multi-option forms sticky for you, and rendering the entire table for you. A whole form app can be built with nothing more than this: use CGI::FormBuilder; my $form = CGI::FormBuilder->new(method => 'POST', fields => [qw/name email/]); if ($form->submitted) { # update our data my $email = $form->field('email'); my $name = $form->field('name'); # ... } else { print $form->render; } You'll get human-readable tags laid out in an HTML table, complete with a submit button and hooks for sessionid. It even generates compliant JavaScript for form validation automatically. This module has really taken off; Andy Wardley just sent me a huge patch which is in 1.91 that enables Template Toolkit functionality in addition to the HTML::Template functionality that I had already builtin. If you need more info please email me. Thanks! enteredby: NWIGER (Nathan Wiger) enteredon: Wed Dec 12 17:30:20 2001 GMT The resulting entry would be: CGI:: ::FormBuilder RdpOa Easily generate and process stateful forms NWIGER Thanks for registering, The Pause Team PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=08200000_f6025506be740f80&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=08200000_f6025506be740f80&SUBMIT_pause99_add_mod_insertit=1