my %textvals = (
name => '',
id => '',
tabindex => '',
size => 50,
...
);
####
my %areavals = (
name => '',
id => '',
tabindex => '',
size => 150,
...
);
my %popupvals = (
name => '',
id => '',
mutiple => 1,
...
);
####
my %name = (
name => 'name',
fieldtype => 'textfield',
}
####
my %subject = (
name => 'email',
fieldtype => 'textfield',
}
my %msgbody = (
name => 'msgbody',
fieldtype => 'textarea',
);
my %aselectlist = (
name => 'aselectlist',
fieldtype => 'popup',
optvals => [qw/option1 option2 option3 option4/],
);
####
my $page = CGI->new();
my $tb = 0;
foreach $field (@formfields) {
my $vals;
$vals = \%textvals if ($field->fieldtype eq 'textfield') ;
####
$vals = \%areavals if ($field->fieldtype eq 'textarea') ;
$vals = \%popupvals if ($field->fieldtype eq 'popup');
... etc ... for each field type that might exist in the form.
$tb++;
$textvals{name} = $field->{name};
$textvals{tabindex} = $tb;
$textvals(id} = $field->{name};
....
$page->textfield($vals) if ($field->fieldtype eq 'textfield') ;
$page->textarea($vals) if ($field->fieldtype eq 'textarea') ;
####
$page->popup_menu($vals) if ($field->fieldtype eq 'popup') ;
... etc ... for each field type that might exist in the form.
}