POST url based upon item selected in dropdown list (sounds Simple)

S

SA SA

Is this possible? I have three items in drop down "Select Payment
Type", "Credit Card" and "Check". if user select Credit card then i
need to post the form variables to different URL than check selecting.

Thanks for your help in advance.

suresh


....... Method="POST", Action= & url ........

IF (dropdown.index =1)
{
url = "http://somebank.com/1/post.asp"
}

IF (dropdown.index =2)
{
url = "http://somebank.com/2/post.asp"

}
 
R

Ray Costanzo [MVP]

Using client-side script, you can accomplish this, but be very, very certain
that you want to rely on this instead of creating a server-side solution...


<html>
<body>
<form id="x" method="post" action="default.asp">
<select name="s"
onchange="document.getElementById('x').action=this.value;">
<option value="default.asp">Select Payment Type</option>
<option value="cc.asp">Credit Card</option>
<option value="check.asp">Check</option>
</select>
</form>
Test it:
<input type="button" onclick="alert(document.getElementById('x').action);"
value="Show Form Action" />
</body>

Ray at work
 
S

SA SA

Ray,
thanks for your tip however you planted doubt on my mind about relaying
on client side script. This is what i have so far works well except
when user presses back botton everything out of wack. Is there way to
do this on server side?

thanks
sa


<html>

<form name="t1" id="x" method="post" action="refresh" onsubmit=" return
confirm1_dropdown()">

<select name="s"
onchange="document.getElementById('x').action=this.value;">
<option value="default.asp">Select Payment Type</option>
<option value="https://somebank.com/Pay/1/Gateway.aspx">Credit
Card</option>
<option value="https://somebank.com/Pay/2/Gateway.aspx">Check
Payment</option>
</select>

<input type="hidden" Value ="Account Balance"
name="PMT_TYPE_DESC" >
<input type="hidden" Value ="701" name="PMT_TYPE" >
<input type="hidden" Value ="701" name="AMOUNT_PAID" >
<input type="hidden" Value ="2718" name="ACCOUNT" >
<input type="hidden" Value ="ABC" name="STUDENT_LASTNAME" >
<p>&nbsp;
<input type="submit" value="Pay Now" ID ="x" ></p>
</form>


<script Language="JavaScript">
<!--
function confirm1_dropdown()
{
if (t1.s.selectedIndex == 0)
{
alert("Please select a payment type.");
t1.s.focus();
return (false);
}
return (true);
}



//--></script>



</html>
 
R

Ray Costanzo [MVP]

Are you posting the form data to a third party site, meaning you don't have
control over the server that needs to receive the post data?

Ray at work
 
S

SA SA

That's true
Are you posting the form data to a third party site, meaning you don't have
control over the server that needs to receive the post data?

Ray at work
 
R

Ray Costanzo [MVP]

In that case, I swing back to the other side and suggest that you DO rely on
client-side script. Either that, or have the user select his payment type
on one page, post that data back to YOUR server, and then present him with a
form with the appropriate action value already set based on server-side
logic.

Ray at work
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,900
Latest member
Nell636132

Latest Threads

Top