Parameter query!

Christopher Jones c.jones at ucl.ac.uk
Tue Aug 21 13:42:28 BST 2007


Looks like the values from the checkbox parameter should come back as a 
list, since there's more than one of them.




On 21 Aug 2007, at 13:09, Clooney, David wrote:

> Hi all
>
>
>
> I joined this list a while back and was warned that everything other
> than perl is discussed, however I thought I would attempt to extract
> some of the wealth of knowledge lying beneath the discussions of
> arbitrary affairs.
>
>
>
> Newbie to perl so Here goes and don't laugh at my code, ok go on then.
>
>
>
> Using CGI.pm
>
>
>
> I am trying to pass all the values of a checkbox group to a subroutine
> but failing miserably.
>
>
>
> The subroutine below generates a form with all files/directories  
> found,
> based upon search criteria. all files are populated into the same
> checkbox group with different values. This all works fine, but passing
> the values to the next subroutine I having issues with.
>
>
>
> sub   spdm828a_technical_files_to_checkbox {
>
>            foreach $spdm828a_tech_file_list_part
> (@spdm828a_tech_file_list_part) {
>
>                         $spdm828a_tech_file_list_part =~ s/\s+$//;
>
>                         chop $spdm828a_tech_file_list_part;
>
>
>
>            if ( $spdm828a_tech_file_list_part =~ /\/$/) {
>
>                             print start_Tr({ -bgcolor => "#F0F8FF"}),
> start_td, 'Directory  ',end_td , start_td,
>
>
> checkbox_group(-name=>'spdm828a_tech_file_selection',
> -value=>"$spdm828a_tech_file_list_part"),
>
>                  br,
>
>                  end_td, end_Tr;
>
>                          }
>
>            else {
>
>            print start_Tr({ -bgcolor => "#FFFFFF" }), start_td,
> 'File',end_td , start_td,
>
>                   checkbox_group(-name=>'spdm828a_tech_file_selection',
> -value=>"$spdm828a_tech_file_list_part"),
>
>
>
>                    br,
>
>                  end_td, end_Tr;
>
>
>
>                          }
>
>
>
>       }
>
> }
>
>
>
> What I don't get is that when I print
> (param('spdm828a_tech_file_selection')) below, all the selections from
> the previous form are concatenated into one long string, this is fine ,
> but if I declare the parameter into a string i.e $file_select and then
> print it I only get the first option selected from the checkbox group
> from the previous form.
>
>
>
> sub sub_technical_create_mail {
>
>     $file_select = (param('spdm828a_tech_file_selection'));
>
>     if ($file_select) {
>
>
>
>  print start_html(-title=>'NCG UK Restore
> Portal',-style=>{'src'=>"$style"}),
>
>       h1({-align=>'center'},'NCG UK Restore portal'),
>
>       h3({-align=>'center'},'NCG Restore Submit Selection');
>
>       print start_form,
>
>       pre,
>
>                  'Please confirm the selection you have made in order
> for the request to be Carried out',
>
>       "\n",
>
>       p;
>
> print p;
>
>       print "$file_select\n";
>
>       print (param('spdm828a_tech_file_selection')),"\n";
>
>       print "\n";
>
>       print "end\n";
>
> print       br,
>
>       submit(-name=>'Submit_final'),
>
>       end_form;
>
>      }
>
>     else {
>
>  print start_html(-title=>'NCG UK Restore
> Portal',-style=>{'src'=>"$style"}),
>
>       h1({-align=>'center'},'NCG UK Restore portal'),
>
>       h3({-align=>'center'},'NCG Restore Submit Selection');
>
>       print start_form,
>
>       pre,
>
>                  'You have not selected any data to be restored',
>
>       "\n",
>
>       ;
>
>      }
>
> }
>
>
>
> Any ideas on how I can get each checkbox group selection onto a new 
> line
> in the second sub would be much appreciated.
>
>
>
> Dave
>
>
>
>
>
>
>
>
> Notice to recipient:
> The information in this internet e-mail and any attachments is 
> confidential and may be privileged. It is intended solely for the 
> addressee. If you are not the intended addressee please notify the 
> sender immediately by telephone. If you are not the intended 
> recipient, any disclosure, copying, distribution or any action taken 
> or omitted to be taken in reliance on it, is prohibited and may be 
> unlawful.
>
> When addressed to external clients any opinions or advice contained in 
> this internet e-mail are subject to the terms and conditions expressed 
> in any applicable governing terms of business or client engagement 
> letter issued by the pertinent Bank of America group entity.
>
> If this email originates from the U.K. please note that Bank of 
> America, N.A., London Branch and Banc of America Securities Limited 
> are authorised and regulated by the Financial Services Authority.
>
UCL Translational Research Laboratories
Windeyer Institute
46 Cleveland Street
London
W1T 4JF
United Kingdom

Telephone: 020 7679 9204
Fax: 020 7679 9687



More information about the london.pm mailing list