This is more an HTML than a PERL problem but I spent 1/2 of today with google trying to find the answer. Then I experimented and this technique worked.
The important thing was adding
target = "_blank"to the form action line.
This worked on my Ubuntu linux setup with localhost.
The desired result. When you click on the Submit Button the response is displayed in a new browser window.
The Submit Web Page:
<html> <body> <form method="post" action="cgi/show_response.cgi" target="_blank"> <input type="submit" name ="submit_button_one" value="Submit Button On +e"><br> <input type="submit" name ="submit_button_two" value="Submit Button Tw +o" /><br /> <input type="submit" name ="submit_button_three" value="Submit Button +Three" /><br /> <input type="submit" name ="submit_button_four" value="Submit Button F +our" /><br /> </form> </body> </html>
The cgi response:
#!/usr/bin/perl -w use CGI qw(:standard); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use DBI; use strict; use warnings; use English; my @scriptpath=split(/\//,$0); my $scriptname = pop @scriptpath; my $q = new CGI; print $q -> header(-target=>"NewPage"); print $q -> start_html("$0");#page title print h2("Run from $0"); print "<br>\n"; my %form =(); my %key; my $value; foreach my $p (param()) { $form{$p} = param($p); print "\$p is $p: \$form{\$p} is: $form{$p}<br>\n"; } print $q ->end_html;
In reply to open a new web page from a cgi form by bdalzell
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |