1

我想通过 1 个选择框选择 2 个 paypal 按钮。

我有一个最小的表单代码:

//表格

<form id="form1" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">


<select name="select1" id="select1">
    <option id="option1" value="1">Button1</option>
    <option id="option2" value="2">Button2</option>
</select>

<input type="image" src="images/purchase_button.png" border="0" name="submit" alt="PayPal — The safer, easier way to pay online." />
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1" />
</form>

然后在运行时 jquery 会做剩下的事情:

$('#select1').change(function () {

if ($('option:selected', this).val() == 1) {

    $('#button1').remove(); //clean up
    $('#button2').remove(); //clean up

    $('#form1').append('<input type="hidden" name="hosted_button_id" value="button1-code-here" id="button1" />');


} else {

    $('#button1').remove(); //clean up
    $('#button2').remove(); //clean up

    $('#form1').append('<input type="hidden" name="hosted_button_id" value="button2-code-here" id="button2" />');

}



});

我的问题是,有时当我选择选项 1 按钮时,它会提交按钮 2。

当您进入贝宝支付页面时,贝宝会保存 cookie 吗?

什么时候每次都不能顺利进行?

4

2 回答 2

2

您的代码需要一些优化。制作它们,它将按预期工作。

首先使用 1 个按钮,不需要额外的按钮,因为您唯一需要做的就是更改值。使用一个按钮,您的整个代码都可以用这些简单的行编写。

$('#select1').change(function () {

    if ($('option:selected', this).val() == 1) {
        $("#button1").val("button-1-code");
    } else {
       $("#button1").val("button-2-code");
    }

});

并回答您的隔离问题:

我的问题是,有时当我选择选项 1 按钮时,它会提交按钮 2。

以上解决了这个问题

当您进入贝宝支付页面时,贝宝会保存 cookie 吗?

有时,但你不能依赖它来开发你的代码

什么时候每次都不能顺利进行?

上述解决方案将再次完成

于 2013-02-26T09:51:20.597 回答
1

您也可以如下使用它,

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">

    $(function()
    {
        $('#select1').on('change',(function ()
        {
            var id    = $(this).text();
            var value = $(this).val();
            $('#button1').remove();
            $('#button2').remove();

            $('#form1').append('<input type="hidden" name="hosted_button_id" value="'+id+'-code-here" id="'+id+'" />');
        });
    });

</script>
于 2013-02-26T09:52:15.837 回答