如何在一个表单上添加多个添加到购物车按钮

时间:2013-08-07 16:01:28

标签: php html paypal

我有16个产品,所有产品都有分别添加到购物车按钮的产品。当客户输入他们想要的数量然后点击添加到购物车时,产品被添加到购物车中,并且客户被引导到相应的paypal购物车。我想知道是否有办法执行相同的操作而无需为每个产品制作单独的按钮?

这是我的一个按钮的代码:

<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
                        <input type="hidden" name="cmd" value="_s-xclick">
                        <input type="hidden" name="hosted_button_id" value="93XBL9HZ8D5MG">
                        <table>
                        <tr><td><input type="hidden" name="add" value="1"></td></tr><tr><td>
                        <input type="hidden" name="item_name" value="AR.VIN.001 - Unframed">
                        Qty <input type="text" name="quantity" maxlength="5" value="1" style="position: relative; width:30px; height: 23px; top: 25px; left: 35px;">

                            </table>
                        <input type="image" src="./img/button.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online."  style="position:relative; left: 50px; top: 0px;">
                        <img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
                    </form>'

2 个答案:

答案 0 :(得分:0)

您的标题和问题似乎有不同的含义,因此我将回答您的标题查询(如何在一个表单上添加多个添加到购物车按钮)。

简单的答案是你没有。但你可以模拟这样做,我可以想到两种方法,一种是使用javascript,另一种是使用php。

PHP方式:

将所有添加到购物车按钮链接到index.php?action=add&product_id=4,并且不要在该页面上显示paypal表单。在相应的页面中,您可以根据产品ID以及要发送的任何信息生成paypal重定向表单,然后使用javascript提交。理想情况下,您还应制作一个计时器,并添加如下消息:“您将在5秒内重定向到PayPal。如果没有,请单击下面的链接”。

Javascript方式:

页面上存在paypal表单,但是要隐藏。然后,在添加到购物车按钮上添加onclick操作,根据点击的按钮更改paypal表单输入值,然后使用javascript提交。


就个人而言,我更喜欢PHP方式,因为你有更多的控制权。例如,您可以在重定向到PayPal之前保存订单,但这也取决于您的需求。 javascript方式更像是一种破解而非解决方案。

答案 1 :(得分:0)

我想我明白你在寻找什么。我假设所有产品都是单一形式。你可以使用

import org.json.simple.JSONObject;
public static void printJsonObject(JSONObject jsonObj) {
    for (Object key : jsonObj.keySet()) {
        //based on you key types
        String keyStr = (String)key;
        Object keyvalue = jsonObj.get(keyStr);

        //Print key and value
        System.out.println("key: "+ keyStr + " value: " + keyvalue);

        //for nested objects iteration if required
        if (keyvalue instanceof JSONObject)
            printJsonObject((JSONObject)keyvalue);
    }
}

将此添加到页面上的每个产品项目。

然后添加一个按钮,仅将所选项目添加到购物车。

<input type="checkbox" name="productName" value="productId">

表单数据现在应仅包含所选产品。否则,您可以使用javascript迭代所选项目并将其ajax到服务器。

4年前被问到这个问题并不重要。我偶然发现它正在寻找添加到购物车的实现。希望有人发现它有用。 :)