in reply to Re: Perl-CGI refresh with different param(s)??
in thread Perl-CGI refresh with different param(s)??

This is great stuff, really cleared it up.

I think I'm close now. My one question is how to set the "value" in the name value pairs to the equivalent of making the param 'on'?

I've done this:

my $webpage = "http://myurl/cgi-bin/search2011.cgi"; my $url = "$webpage?subject=$c_subject; #From earlier declaration alre +ady posted print qq(<A HREF="$url">Subject</A>\n)."<br><br>";

However, since the radio button wasn't clicked, this just a returns an empty search

Should I use this type of thing:

$query->param('foo','an','array','of','values'); This sets the value for the named parameter 'foo' to an array of value +s. This is one way to change the value of a field AFTER the script ha +s been invoked once before. (Another way is with the -override parame +ter accepted by all methods that generate form elements.)

Replies are listed 'Best First'.
Re^3: Perl-CGI refresh with different param(s)??
by 7stud (Deacon) on Jun 20, 2011 at 21:20 UTC
    When a radio button is checked, the name/value pair for that specific radio button is sent to the cgi script. If a radio button is not checked, then nothing gets sent to the server for that specific radio button. So if you have nine radio buttons and the user checks the second radio button, then the second radio button's name/value pair will be sent to your cgi script. If you want to change that to make it appear that the user selected the eighth radio button, then remove the name/value pair for the second radio button from the url, and replace it with the name/value pair of the eighth radio button.

      This sounds exactly like what I need to do... But say when the output comes, the URL doesn't have the name-value pairs appended to the end? Are they hidden there (maybe GET wasn't chosen)? How can I remove them in this case?

      Thanks a lot, I guess one troublesome aspect is I am not in charge of the HTML stuff, so I'm working only on the CGI script.

      Perhaps a combo of fetching the parameters and delete() will work?

Re^3: Perl-CGI refresh with different param(s)??
by 7stud (Deacon) on Jun 20, 2011 at 21:47 UTC
    You may not be in charge of the html, but you have to have a copy of the form, so you can see what you are working with.
      Thanks a lot, I can use your approach (shown at the stackexchange website). I changed the source to method "GET" to see the tags, then used those and changed it back to "POST". And it worked!