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;

Replies are listed 'Best First'.
Re: open a new web page from a cgi form
by marto (Cardinal) on May 21, 2010 at 08:42 UTC
Re: open a new web page from a cgi form
by StommePoes (Scribe) on Jun 03, 2010 at 08:19 UTC

    Target is deprecated in a Strict doctype, not only for causing some users of full-screen browsers the gouging of the eyes when they keep clicking their Back buttons and nothing happens (new window covers the old one entirely and they don't notice), but also because some consider it a "window behaviour" and therefore relegate this to Javascript. Which is possibly a better idea, coupled with PRG which gives you some added benefits anyway. Additionally many users block the action of target within their browsers; something to be aware of if you're relying on this behaviour for anything.

    Originally target was meant for linking between frames in a frameset page. Of course, browsers really don't drop functionality, so it's not like the target attribute will ever stop working or anything... : )

Re: open a new web page from a cgi form
by Anonymous Monk on Nov 27, 2010 at 06:43 UTC
    Is there a way to specify _blank or _self depending on which submit button is pushed? with <form ... target=_blank ...> all submit buttons are effected.