fixed 709772

This commit is contained in:
JT Smith 2003-03-27 03:06:05 +00:00
parent 805af07e3e
commit b03ddeee47
3 changed files with 9 additions and 15 deletions

View file

@ -1107,7 +1107,7 @@ The list of options for this list. Should be passed as a hash reference.
=item value =item value
The default value(s) for this form element. This should be passed as an array reference. The default value for this form element. This should be passed as a scalar.
=item vertical =item vertical
@ -1124,12 +1124,10 @@ If you want to add anything special to this form element like javascript actions
=cut =cut
sub radioList { sub radioList {
my ($output, $key, $checked, $item); my ($output, $key, $checked);
foreach $key (keys %{$_[0]->{options}}) { foreach $key (keys %{$_[0]->{options}}) {
$checked = 0; $checked = 0;
foreach $item (@{$_[0]->{value}}) { $checked = 1 if ($key $_[0]->{value});
$checked = 1 if ($item eq $key);
}
$output .= radio({ $output .= radio({
name=>$_[0]->{name}, name=>$_[0]->{name},
value=>$key, value=>$key,

View file

@ -1373,7 +1373,7 @@ The left column label for this form row.
=item value =item value
The default value for this form element. The default value for this form element. Should be passed as a scalar.
=item vertical =item vertical

View file

@ -534,7 +534,7 @@ sub _createField {
last SWITCH; last SWITCH;
}; };
/^radioList$/ && do { /^radioList$/ && do {
my (%selectOptions, @defaultValues); my (%selectOptions, $defaultValue);
my $vertical = 1; # TODO: Make this configurable my $vertical = 1; # TODO: Make this configurable
$name = "field_".$data->{sequenceNumber} if ($name eq ""); # Empty fieldname not allowed $name = "field_".$data->{sequenceNumber} if ($name eq ""); # Empty fieldname not allowed
tie %selectOptions, 'Tie::IxHash'; tie %selectOptions, 'Tie::IxHash';
@ -543,19 +543,15 @@ sub _createField {
$selectOptions{$_} = $_; $selectOptions{$_} = $_;
} }
if ($session{form}{$name}) { if ($session{form}{$name}) {
@defaultValues = $session{cgi}->param($name); $defaultValue = $session{form}{$name};
} else { } else {
# put default values in array $defaultValue = $data->{defaultValue};
foreach (split(/\n/, $data->{defaultValue})) {
s/\s+$//; # remove trailing spaces
push(@defaultValues, $_);
}
} }
$f->radioList( $f->radioList(
-name=>$name, -name=>$name,
-options=>\%selectOptions, -options=>\%selectOptions,
-label=>$data->{name}, -label=>$data->{name},
-value=>\@defaultValues, -value=>$defaultValue,
-subtext=>$data->{subtext}, -subtext=>$data->{subtext},
-vertical=>$vertical -vertical=>$vertical
); );
@ -633,7 +629,7 @@ sub www_send {
$value = ($value == 1) ? "yes" : "no"; $value = ($value == 1) ? "yes" : "no";
} elsif ($data{type} eq "checkbox") { } elsif ($data{type} eq "checkbox") {
$value = ($value) ? "checked" : "not checked"; $value = ($value) ? "checked" : "not checked";
} elsif ($data{type} eq "checkList" || $data{type} eq "radioList") { } elsif ($data{type} eq "checkList") {
$data{name} = $urlizedName = "field_".$data{sequenceNumber} if ($urlizedName eq ""); $data{name} = $urlizedName = "field_".$data{sequenceNumber} if ($urlizedName eq "");
my @values = $session{cgi}->param($urlizedName); my @values = $session{cgi}->param($urlizedName);
$value = join(", ",@values); $value = join(", ",@values);