如何动态设置产品的价格和数量?

时间:2015-03-11 17:53:03

标签: paypal

我正在尝试创建一个PayPal表单,用户可以在其中设置价格和产品数量,但没有成功。

表单按预期方式POST,但结帐页面中的值不会更新。它必须在前端环境中运行,不涉及服务器端代码。

这是表格:

<form id="product-form" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
        <input type="hidden" name="cmd" value="_s-xclick">
        <input type="hidden" name="hosted_button_id" value="xyz">
        <table>
            <tr>
                <td><input type="hidden" name="on0" value="Amount">Valor</td>
            </tr>
            <tr>
                <td><input id="price" type="text" name="os0" maxlength="200" placeholder="R$" value="1.00"></td>
            </tr>
            <tr>
                <td><input type="hidden" name="on1" value="Quantidade">Quantity</td>
            </tr>
            <tr>
                <td><input id="quantity-input" type="text" name="os1" maxlength="200"></td>
            </tr>
        </table>

        <input type="hidden" id="amount" name="amount" value="1.00">
        <input type="hidden" name="quantity" value="1">


        <img src="https://www.paypalobjects.com/pt_BR/BR/i/btn/btn_buynowCC_LG.gif" border="0" alt="PayPal - A maneira fácil e segura de enviar pagamentos online!" onclick="validator()" />
        <img alt="" border="0" src="https://www.paypalobjects.com/pt_BR/i/scr/pixel.gif" width="1" height="1">
    </form>

这是我用来验证提交表单的JS。

var priceInput = $('#price'),
            amountInput = $('#amount'),
            quantityInput = $('#quantity-input'),
            quantity = $('#quantity'),
            validator = function validator () {
                var value = priceInput.val(),
                    quant = quantityInput.val(),
                    val = value.replace('R$ ', ''),
                    amount = parseInt( val );

                if ( !amount ) {
                    window.alert('Min value is 1.00');
                    priceInput.focus();
                    return;
                }

                amountInput.val(val);
                quantity.val(quant);

                $('#product-form').submit();
            };

        $(function() {
            priceInput.maskMoney({ 'prefix': 'R$ ' });
        });

该值仍然是先前为产品设置的默认值。 enter image description here

有没有办法实现这个目标?

0 个答案:

没有答案