Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Multiple Action Forms

0.00/5 (No votes)
13 Jan 2005 1  
How to send data from a form to multiple pages at once.

Introduction

Have you ever wanted to make a simple form do multiple actions and you didn't know how. The answer was hidden from me for some time, but I managed to imagine how to do this when I read an article by Chris Maunder "Specifying multiple actions from a single Form".

In that article Chris manages to send information of the form to different pages, but there he needs different buttons for each action. So, I decided to edit a little bit of his code, to get multiple actions done by pressing the Submit button once. Now, I will explain you how to do this.

First let's have a simple form like this:

<form name=Form1 action= "login1.php" method=post>
Username <input type="text" name="username">
Password <input type="password" name="password">
<input type="submit" value="Send" name="button1" 
                     onclick="return OnButton1();">

Now, we have got a form. When we click the Submit button, it calls a JavaScript function:

<script language="javascript">
<!--
function OnButton1()
{
    document.Form1.action = "login2.php"    // First target

    document.Form1.target = "iframe1";    // Open in a iframe

    document.Form1.submit();        // Submit the page

    document.Form1.action = "page3.php"    // Second target

    document.Form1.target = "iframe2";    // Open in a iframe

    document.Form1.submit();        // Submit the page

    return true;
}
-->
</script>

OK, now we are submitting the data to two pages. As you can see they have got a target like a frame. This is because we need it to open the two new pages with the data, but for not bothering the user we hide the IFRAMEs like this:

<div style="visibility:hidden">
<iframe NAME="iframe1" WIDTH="40" HEIGHT="40"></iframe>
<iframe NAME="iframe2" WIDTH="40" HEIGHT="40"></iframe>
</div>

The page will send the data to IFRAME and the information will be processed as you wanted.

Note: The user will only see login1.php confirmation and not the second login confirmation. Maybe you could create a page for the user to know if he could login in both pages or like me create a page that redirects to the index.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here