javascript - Button Redirect Using JQuery

217

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 colspan="2">
    <label>Card Type <span>*</span>
    <select name="CardType" id="CardType">
       <option value="" selected 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" >&laquo; Back</button>
     <button type="button" >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>
377

Answer

Solution:

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;
        }
    });
 });
387

Answer

Solution:

Try this. When the page is ready it will bindclick event. After that whenever you click button it will check theCardType 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/

People are also looking for solutions to the problem: how to execute only specific files without extensions with PHP in .htaccess?

Source

Didn't find the answer?

Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.

Ask a Question

Write quick answer

Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.

Similar questions

Find the answer in similar questions on our website.