0

我正在使用 simplecart js。这是一个非常简单的商店,只有一种产品。当有人单击添加到购物车按钮时,我想自动重定向到购物车页面。

添加产品的代码:

<div class="simpleCart_shelfItem">
<h2 class="item_name"> Awesome T-shirt </h2>
<p>  <input type="text" value="1" class="item_Quantity"><br>
<span class="item_price">$35.99</span><br>
<a class="item_add" href="javascript:;"> Add to Cart </a></p>
</div>

simpleCart.js 中的监听器:

/* here is our shelfItem add to cart button listener */
                , { selector: 'shelfItem .item_add'
                    , event: 'click'
                    , callback: function () {
                        var $button = simpleCart.$(this),
                            fields = {};

                        $button.closest("." + namespace + "_shelfItem").descendants().each(function (x,item) {
                            var $item = simpleCart.$(item);

                            // check to see if the class matches the item_[fieldname] pattern
                            if ($item.attr("class") &&
                                $item.attr("class").match(/item_.+/) &&
                                !$item.attr('class').match(/item_add/)) {

                                // find the class name
                                simpleCart.each($item.attr('class').split(' '), function (klass) {
                                    var attr,
                                        val,
                                        type;

                                    // get the value or text depending on the tagName
                                    if (klass.match(/item_.+/)) {
                                        attr = klass.split("_")[1];
                                        val = "";
                                        switch($item.tag().toLowerCase()) {
                                            case "input":
                                            case "textarea":
                                            case "select":
                                                type = $item.attr("type");
                                                if (!type || ((type.toLowerCase() === "checkbox" || type.toLowerCase() === "radio") && $item.attr("checked")) || type.toLowerCase() === "text") {
                                                    val = $item.val();
                                                }               
                                                break;
                                            case "img":
                                                val = $item.attr('src');
                                                break;
                                            default:
                                                val = $item.text();
                                                break;
                                        }

                                        if (val !== null && val !== "") {
                                            fields[attr.toLowerCase()] = fields[attr.toLowerCase()] ? fields[attr.toLowerCase()] + ", " +  val : val;
                                        }
                                    }
                                });
                            }
                        });

                        // add the item
                        simpleCart.add(fields);
                    }
                }
            ]);
        });

根据我的阅读,使用 href="javascript:;" 是不好的做法 将其更改为将项目添加到购物车然后转到购物车页面或仅添加重定向的点击功能是一个好主意吗?我该怎么做?谢谢

4

1 回答 1

1

我不确定 simplecart APi 是如何工作的,但您可以尝试以下操作:

// add the item
simpleCart.add(fields);
window.location='/cart/'; // change to your cart route

如果购物车保存到服务器 cookie,您可能需要将其放入回调中。

于 2012-09-03T17:08:20.570 回答