From b03ddeee477ae29f3cea61a876797806699ece03 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Thu, 27 Mar 2003 03:06:05 +0000 Subject: [PATCH] fixed 709772 --- lib/WebGUI/Form.pm | 8 +++----- lib/WebGUI/HTMLForm.pm | 2 +- lib/WebGUI/Wobject/MailForm.pm | 14 +++++--------- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/lib/WebGUI/Form.pm b/lib/WebGUI/Form.pm index 6b70bd0fa..ae9dd0f0e 100644 --- a/lib/WebGUI/Form.pm +++ b/lib/WebGUI/Form.pm @@ -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, diff --git a/lib/WebGUI/HTMLForm.pm b/lib/WebGUI/HTMLForm.pm index f42b2e1b4..66cec6315 100644 --- a/lib/WebGUI/HTMLForm.pm +++ b/lib/WebGUI/HTMLForm.pm @@ -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 diff --git a/lib/WebGUI/Wobject/MailForm.pm b/lib/WebGUI/Wobject/MailForm.pm index 78c445005..fb8f04bc8 100755 --- a/lib/WebGUI/Wobject/MailForm.pm +++ b/lib/WebGUI/Wobject/MailForm.pm @@ -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);