Reputation: 1679
In my PHP site, I am trying to get a button to redirect to a PayPal page for payment if a user has chosen PayPal from the dropdown. Normally, the button would go to the next page to authorize the credit card payment, but since the addition of PayPal, I need that button to redirect only if PayPal is chosen, otherwise it should still go to the next page in the payment process.
Can someone help me make my code work? I'm not very experienced, so I appreciate any help.
<tr>
<td class="required req_poss" colspan="2">
<label>Card Type <span>*</span>
<select name="CardType" id="CardType">
<option value="" selected="selected">--Please Select--</option>
<option value="Amex">American Express</option>
<!--<option value="Discover">Discover</option>-->
<option value="MasterCard">MasterCard</option>
<option value="PayPal">PayPal</option>
<option value="Visa">Visa</option>
</select>
</label>
</td>
</tr>
<tr>
<td colspan="2" align="right"><br />
<button type="button" class="prev" style="float:left">« Back</button>
<button type="button" class="next right">Proceed »</button>
</td>
</tr>
What I want is something like this:
<script type="text/javascript">
if ($('#CardType').val() == 'PayPal'){
$('next').click(window.location.href = "https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=BUSINESSNAME");
}
</script>
Upvotes: 0
Views: 507
Reputation: 19772
check out this jsfiddle
(the link won't actually go anywhere in jsfiddle because the site doesn't allow cross-origin framing; however, if you open up your console, you'll see that the code does in fact work.)
<select id="CardType">
<option value="PayPal">PayPal</option>
</select>
<input type="text" id="orderAmt" />
<button class="next">Next</button>
/*this would go in an external script file and placed in the header
of your html document after your jQuery script tag; or this could
go in a script tag at the end of the body of your html doc*/
$(function() {
$('.next').on('click',function() {
var val = $('#CardType').val(),
orderAmt = $('#orderAmt').val();
/*the typeof argument adds security by checking to see
that the input is a number, and not something else like a string*/
if (val === 'PayPal' && typeof orderAmt === "number") {
/*obviously here the url would need be changed as you see fit,
but this is just an example to show how to add variables as
PHP parameters to the end of your url*/
window.location.href = "https://www.paypal.com/?amount=" + orderAmt;
}
});
});
Upvotes: 1
Reputation: 2766
Try this.
When the page is ready it will bind click
event. After that whenever you click button it will check the CardType
and set the location.
$( document ).ready(function() {
$( ".next" ).click(function() {
if ($('#CardType').val() == 'PayPal')
window.location.href = "...";
else
window.location.href = "...";
});
});
Here is the fiddle: http://jsfiddle.net/3DA5m/
Upvotes: 0