Solved

Can a submit button open multiple windows?

Posted on 2010-08-20
11
420 Views
Last Modified: 2012-08-13
I have a form in a php doc that opens
<form target="_blank" method="POST" action="voucher_verify.php?id=3">
...  input fields ....
<input name="voucher_submit" type="submit" value="Print Voucher">
</form>

Upon clicking submit, the form opens a new window that inserts the information into a sql db, and creates a form to be printed.
However, the page where the submit button resides stays open.

I want to to work so that when you click submit, it opens the new window the way it does now, but also redirect the current page back to anything else ... (i.e. index.php)
I tried some java, which is probably the best method - I'm just doing it wrong.

I tried something along the lines of <input name="voucher_submit" type="submit" onclick="index.php" value="Print Voucher">

Please help
0
Comment
Question by:Imaginx
  • 5
  • 4
  • 2
11 Comments
 
LVL 1

Author Comment

by:Imaginx
ID: 33486129
I may not have been completely clear. My title says "Can a submit button open multiple windows"

I don't want to open multiple windows. I want to open a new window & redirect the page on the current window.

-S
0
 
LVL 2

Expert Comment

by:j_coreil
ID: 33486299
Yes, very easily.
<html>
<body>

<script type="text/javascript">
w=window.open();
w.document.open();
w.document.write("<h1>Hello World!</h1>");
w.document.close();

window.location="http://www.yahoo.com/";

</script>

</body>
</html>

Open in new window

0
 
LVL 2

Expert Comment

by:j_coreil
ID: 33486311
All you need to do is add the javascript to the submit button as the action.
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 31

Accepted Solution

by:
Marco Gasi earned 500 total points
ID: 33487069
All you need is to correct your code this way:

 <input name="voucher_submit" type="submit" onclick="location.replace('index.php');" value="Print Voucher">

Best regards
0
 
LVL 1

Author Comment

by:Imaginx
ID: 33487775
Here is the actual line pulled straight out of the php file.


It is properly opening the new window, but not replacing the current one... Can you see what I have wrong here ??
<?php
echo "<form name=\"voucher_print\" target=\"_BLANK\" method=\"POST\" action=\"intake_print.php?id=2\">";				
echo "<input type=\"hidden\" name=\"first_name\" value=\"$first_name\">";
echo "<input type=\"hidden\" name=\"last_name\" value=\"$last_name\">";
echo "<p><center>If the above information is correct, click print. Otherwise, click Back and correct the information.";
echo "<p><center><input type=button value=\"Back\" onClick=\"history.go(-1)\">";
echo "&nbsp&nbsp<input type=\"submit\" onclick=\"location.replace('index.php');\" name=\"submit_a\" value=\"Print Voucher\"><form><p>";
?>

Open in new window

0
 
LVL 31

Expert Comment

by:Marco Gasi
ID: 33487857
The only error I can see is tha missing end tag for form in line seven: you write <form> instead then </form>
0
 
LVL 1

Author Comment

by:Imaginx
ID: 33487875
Good call, but that shouldn't stop the java from redirecting ... No ??
0
 
LVL 31

Expert Comment

by:Marco Gasi
ID: 33488001
Yes, I only said that was the only error I saw... You could use firebug (if you use firefox) to see errors. My test code works fine:

<?php
echo "<form target=\"_blank\" action=\"realwriting.php\" method=\"post\">";
echo "<input type=\"submit\" id=\"submit\" name=\"submit\" onclick=\"location.replace('temptemp.php');\" value=\"Submit\" />";
echo "</form>";
?>

This open a new tab in firefox and change the actual tab to temptemp.php :-(
0
 
LVL 1

Author Comment

by:Imaginx
ID: 33488232
All the employees that use this app are using IE.
I work on a Mac, and use Safari.

The java worked for me on my Mac using Firefox, and even on my Mac when I run IE in Parallels .... Just doesn't work with Safari ... ??

Either way, it achieves what I need - Thanks !!
0
 
LVL 31

Expert Comment

by:Marco Gasi
ID: 33488274
Glad problem is solved. Only for your information, I've tested with Safari for Windows and it works also. So it seems Mac prevent for some reason this script to work! Good work.
0
 
LVL 31

Expert Comment

by:Marco Gasi
ID: 33488334
I intended: all the best for your work
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
In this tutorial viewers will learn how to embed Flash content in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <object> tag to embed Flash content.: To specify that the object is Flash content, d…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question