doujiu8918
2013-12-26 21:13
浏览 59

使用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>
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanbogan5878 2013-12-26 21:16
    已采纳

    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;
            }
        });
     });
    
    已采纳该答案
    打赏 评论
  • dongzhao5970 2013-12-26 21:24

    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/

    打赏 评论

相关推荐 更多相似问题