469,590 Members | 2,312 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,590 developers. It's quick & easy.

Can a form have two POST locations? Workarounds?

Is it possible to POST a FORM to multiple URLS at the same time....OR....

Is the only workaround for this scenario to use response.redirect in the
called ASP page and do a multi processing?

- Jason
Jul 19 '05 #1
2 4677
While you can use client side code to change the action of your form, I
personally stay away from relying on client side code for such things.
What I would do instead is:

<form method="post" action="page.asp">
<form stuff here>
<input type="submit" name="cmdSubmit" value="Delete Users">
<input type="submit" name="cmdSubmit" value="Disable Users">

Then, in page.asp:

sSubmit = UCase(Request.Form("cmdSubmit"))
Select Case sSubmit
Case "DELETE USERS"
''the code that you currently have in pagea.asp
Case "DISABLE USERS"
''the code that you currently have in pageb.asp
Case Else
''if you'd like a default action that will hopefully
''need to fall back on - see below
End Select
The problem with this method though is that if you have a designer who
doesn't like the values of your submit buttons and changes them, you
will have to be aware of this and update your code accordingly. So, the
other method, which will rely on the name of the submit button instead
of the value would be:

<form method="post" action="page.asp">
<form stuff here>
<input type="submit" name="cmdDelete" value="Delete Users">
<input type="submit" name="cmdDisable" value="Disable Users">

Then in page.asp:

If Request.Form("cmdDelete") <> "" Then
''the code that you currently have in pagea.asp
End If ''or else if you prefer

If Request.Form("cmdDisable") Then
''the code that you currently have in pageb.asp
End If

This, again though, if your designer renames the submit buttons, you'll
have to be aware of this, or have a default action to fall back on.

And now the other thing, if you've read this far, is that if your user
presses enter to submit the form (or Ctrl+M), neither of these values
will be present, so you will have to have either have a default option,
which could either run your code, or redirect back with an error that
says "Please click on the action you'd like to take." or something along
those lines.

When I use two submit buttons, I'll normally use instr instead of a full
comparison anyway, like:

sSubmit = UCase(Request.Form("cmdSubmit"))

Select Case True
Case Instr(sSubmit, "DELETE") > 0
'code
Case Instr(sSubmit, "UPDATE") > 0
'code
Case Else
'default
End Select

Or, you could not do the ucase and do a text comparison:
Instr(sSubmit, "delete", 1), then it wouldn't matter if it's DeLeTE,
delete, DELETE, or anything else.
Ray at work

"jason" <ja***@catamaranco.com> wrote in message
news:el**************@TK2MSFTNGP09.phx.gbl...
Is it possible to POST a FORM to multiple URLS at the same time....OR....

Is the only workaround for this scenario to use response.redirect in the
called ASP page and do a multi processing?

- Jason

Jul 19 '05 #2
Many thank Ray!

"Ray at <%=sLocation%>" <myfirstname at lane34 dot com> wrote in message
news:eA**************@TK2MSFTNGP09.phx.gbl...
While you can use client side code to change the action of your form, I
personally stay away from relying on client side code for such things.
What I would do instead is:

<form method="post" action="page.asp">
<form stuff here>
<input type="submit" name="cmdSubmit" value="Delete Users">
<input type="submit" name="cmdSubmit" value="Disable Users">

Then, in page.asp:

sSubmit = UCase(Request.Form("cmdSubmit"))
Select Case sSubmit
Case "DELETE USERS"
''the code that you currently have in pagea.asp
Case "DISABLE USERS"
''the code that you currently have in pageb.asp
Case Else
''if you'd like a default action that will hopefully
''need to fall back on - see below
End Select
The problem with this method though is that if you have a designer who
doesn't like the values of your submit buttons and changes them, you
will have to be aware of this and update your code accordingly. So, the
other method, which will rely on the name of the submit button instead
of the value would be:

<form method="post" action="page.asp">
<form stuff here>
<input type="submit" name="cmdDelete" value="Delete Users">
<input type="submit" name="cmdDisable" value="Disable Users">

Then in page.asp:

If Request.Form("cmdDelete") <> "" Then
''the code that you currently have in pagea.asp
End If ''or else if you prefer

If Request.Form("cmdDisable") Then
''the code that you currently have in pageb.asp
End If

This, again though, if your designer renames the submit buttons, you'll
have to be aware of this, or have a default action to fall back on.

And now the other thing, if you've read this far, is that if your user
presses enter to submit the form (or Ctrl+M), neither of these values
will be present, so you will have to have either have a default option,
which could either run your code, or redirect back with an error that
says "Please click on the action you'd like to take." or something along
those lines.

When I use two submit buttons, I'll normally use instr instead of a full
comparison anyway, like:

sSubmit = UCase(Request.Form("cmdSubmit"))

Select Case True
Case Instr(sSubmit, "DELETE") > 0
'code
Case Instr(sSubmit, "UPDATE") > 0
'code
Case Else
'default
End Select

Or, you could not do the ucase and do a text comparison:
Instr(sSubmit, "delete", 1), then it wouldn't matter if it's DeLeTE,
delete, DELETE, or anything else.
Ray at work

"jason" <ja***@catamaranco.com> wrote in message
news:el**************@TK2MSFTNGP09.phx.gbl...
Is it possible to POST a FORM to multiple URLS at the same time....OR....
Is the only workaround for this scenario to use response.redirect in the
called ASP page and do a multi processing?

- Jason


Jul 19 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

13 posts views Thread by Sheela | last post: by
1 post views Thread by Display Name | last post: by
6 posts views Thread by Amir Hardon | last post: by
2 posts views Thread by Clayton Hamilton | last post: by
4 posts views Thread by guiromero | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.