Jamie
Jamie

Reputation: 1679

Button Redirect Using JQuery

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">&laquo; Back</button>
         <button type="button" class="next right">Proceed &raquo;</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

Answers (2)

Josh Beam
Josh Beam

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

Gokhan Arik
Gokhan Arik

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

Related Questions