【问题标题】:Passing javascript valiables from HTML form to PayPal将 javascript 变量从 HTML 表单传递到 PayPal
【发布时间】:2014-04-04 03:59:55
【问题描述】:

我已经完成了一个带有自动计算脚本的表单,但我似乎无法将 amount 值传递给 PayPal。

他们是一种将 java 变量转换为 php 变量或其他技巧的方法吗?

我已经用 Google 搜索了 2 个多小时,我的眼睛在眼眶里打转。 :)

<html>
<head>
<script type="text/javascript" src="https://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script>

<script>
    function $_(IDS) { return document.getElementById(IDS); }
    function setPrice () {
        var A = parseFloat($_('A').value*10.);
        var B = parseFloat($_('B').value*10.);
        var C = parseFloat($_('C').value*10.);
        var D = parseFloat($_('D').value*10.);
        var E = parseFloat($_('E').value*10.);
        var F = parseFloat($_('F').value*10.);
        var G = parseFloat($_('A').value*1.);
        var H = parseFloat($_('B').value*1.);
        var I = parseFloat($_('C').value*1.);
        var J = parseFloat($_('D').value*1.);
        var K = parseFloat($_('E').value*1.);
        var L = parseFloat($_('F').value*1.);

        var kids = (G+H+I+J+K+L);

            if (kids==1){
                var result = (+A+B+C+D+E+F).toFixed(2);
            }
            if (kids==2){
                var result = (+A+B+C+D+E+F-5).toFixed(2);
            }
            if (kids>2){
                var result = (+A+B+C+D+E+F-6).toFixed(2);
            }

            if (kids==1){
                var tax = ((+A+B+C+D+E+F)*1.13).toFixed(2);
            }
            if (kids==2){
                var tax = ((+A+B+C+D+E+F-5)*1.13).toFixed(2);
            }
            if (kids>2){
                var tax = ((+A+B+C+D+E+F-6)*1.13).toFixed(2);
            }

        $_('kids1').value = kids;   
        $_('total1').value = result;    
        $_('amount').value = tax;
    };
</script>

</head>

<body>

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
        <input type="hidden" name="cmd" value="_xclick" />
        <input type="hidden" name="business" value="paypal@mysite.com" />
        <input type="hidden" name="item_name" value="2014/2015 Registration" />
        <input type="hidden" name="currency_code" value="CAD" />
        <input type="hidden" name="return" value="http://www.mysite.com/payments/?payment=success" />
        <input type="hidden" name="cancel_return" value="http://www.mysite.com/payments/?payment=cancelled" />
        <input type="hidden" name="bn" value="PP-BuyNowBF:btn_paynowCC_LG.gif:NonHostedGuest" />

        <input type="text" size="1" maxlength="3" id="A" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="B" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="C" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="D" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="E" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="F" onChange="setPrice()">

        <br>

        Order total = $<input type="text" id="total1" readonly /><br>
        With tax total = $<input type="text" id="amount" readonly /><br>
        Total Kids = <input type="text" id="kids1" readonly /><br>

        <br>

        <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif" name="submit" alt="PayPal . The safer, easier way to pay online." />
</form>

【问题讨论】:

  • php 代码在哪里?要传递哪个变量?

标签: javascript html paypal


【解决方案1】:

您错过了将金额和税值传递给贝宝。无需使用PHP。您需要将amounttax 变量传递给paypal。

<html>
<head>
<script type="text/javascript" src="https://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script>

<script>
    function $_(IDS) { return document.getElementById(IDS); }
    function setPrice () {
        var A = parseFloat($_('A').value*10.);
        var B = parseFloat($_('B').value*10.);
        var C = parseFloat($_('C').value*10.);
        var D = parseFloat($_('D').value*10.);
        var E = parseFloat($_('E').value*10.);
        var F = parseFloat($_('F').value*10.);
        var G = parseFloat($_('A').value*1.);
        var H = parseFloat($_('B').value*1.);
        var I = parseFloat($_('C').value*1.);
        var J = parseFloat($_('D').value*1.);
        var K = parseFloat($_('E').value*1.);
        var L = parseFloat($_('F').value*1.);

        var kids = (G+H+I+J+K+L);

            if (kids==1){
                var result = (+A+B+C+D+E+F).toFixed(2);
            }
            if (kids==2){
                var result = (+A+B+C+D+E+F-5).toFixed(2);
            }
            if (kids>2){
                var result = (+A+B+C+D+E+F-6).toFixed(2);
            }

            if (kids==1){
                var tax = ((+A+B+C+D+E+F)*1.13).toFixed(2);
            }
            if (kids==2){
                var tax = ((+A+B+C+D+E+F-5)*1.13).toFixed(2);
            }
            if (kids>2){
                var tax = ((+A+B+C+D+E+F-6)*1.13).toFixed(2);
            }

        $_('kids1').value = kids;   
        $_('total1').value = result;    
        $_('amount').value = tax;

        //assign values to paypal buttons
        $_('amt_val').value = result;
        $_('tax_val').value = tax;
    };
</script>

</head>

<body>

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
        <input type="hidden" name="cmd" value="_xclick" />
        <input type="hidden" name="business" value="paypal@mysite.com" />
        <input type="hidden" name="item_name" value="2014/2015 Registration" />
        <input type="hidden" name="currency_code" value="CAD" />
        <input type="hidden" id="amt_val" name="amount" value="" />
        <input type="hidden" id="tax_val" name="tax" value="" />
        <input type="hidden" name="return" value="http://www.mysite.com/payments/?payment=success" />
        <input type="hidden" name="cancel_return" value="http://www.mysite.com/payments/?payment=cancelled" />
        <input type="hidden" name="bn" value="PP-BuyNowBF:btn_paynowCC_LG.gif:NonHostedGuest" />

        <input type="text" size="1" maxlength="3" id="A" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="B" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="C" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="D" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="E" onChange="setPrice()">
        <input type="text" size="1" maxlength="3" id="F" onChange="setPrice()">

        <br>

        Order total = $<input type="text" id="total1" readonly /><br>
        With tax total = $<input type="text" id="amount" readonly /><br>
        Total Kids = <input type="text" id="kids1" readonly /><br>

        <br>

        <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif" name="submit" alt="PayPal . The safer, easier way to pay online." />
</form>

试试这个代码来得到这样的输出

DEMO

【讨论】:

  • 谢谢!我确实有一次通过了它,但不是这样。只是忘了将该行添加到我的示例中。希望我在 2 小时前和许多 Google 搜索中问过这个问题。该睡觉了。
猜你喜欢
  • 2011-07-14
  • 2013-11-07
  • 2017-06-30
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多