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
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
@ -1124,12 +1124,10 @@ If you want to add anything special to this form element like javascript actions
=cut
sub radioList {
my ($output, $key, $checked, $item);
my ($output, $key, $checked);
foreach $key (keys %{$_[0]->{options}}) {
$checked = 0;
foreach $item (@{$_[0]->{value}}) {
$checked = 1 if ($item eq $key);
}
$checked = 1 if ($key $_[0]->{value});
$output .= radio({
name=>$_[0]->{name},
value=>$key,

View file

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

View file

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