window.location没有'不会产生与将相同链接粘贴到浏览器相同的结果-Magento添加到购物车URL

window.location doesn't produce same outcome as pasting the same link into browser - Magento Add To Cart URL

本文关键字:浏览器 location 结果 URL 购物车 添加 -Magento 链接 没有 window      更新时间:2023-09-26

我正在创建一个Magento类别页面,它允许用户从类别页面添加可配置的产品。这超出了马根托想要的开箱即用的方式。

我已经达到了99.9%的水平,但在一些最终的javascript方面遇到了问题。

我已经设法在页面上构建了所有可配置的产品,并为每个产品的大小属性提供了一个选择下拉列表和一个添加到购物车按钮。

选择下拉列表的值为->getAddUrl()方法。因此,在"添加到购物车"按钮的onclick事件中,我使用window.location(thegetAddUrlLink)将产品添加到购物篮中。

不幸的是,由于某种未知的原因,这不起作用,它只是把我带到该产品的单个产品页面,并要求选择尺寸。这很奇怪,因为若我从源(从值字段)复制该页面上任何产品的相同链接,并将其粘贴到我的浏览器中,我就会得到预期的结果。

以下是页面上一种产品的标记示例

    <form action="http://www.mysite.com/checkout/cart/add/" method="post" style="display:block; clear:both;"> 
        <p class="shopthislookpageselectsize">Size</p>
            <div class="shopthislookpageselectholder"> 
            <select name="select-35900" id="select-35900" class="required-entry shopthislookpageselect">
            <option value="http://www.mysite.com/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L3Nob3AtdGhpcy1sb29rL2Zlc3RpdmFsLWdlYXJzLTEuaHRtbA,,/product/35895/">ONE SIZE</option>
<option value="http://www.mysite.com/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L3Nob3AtdGhpcy1sb29rL2Zlc3RpdmFsLWdlYXJzLTEuaHRtbA,,/product/22533/">28</option>                                
            </select>
            </div>
    <button class="button btn-cart" input="" type="hidden" name="product" id="button-35900" value="35900" onclick="addLookItemsToCart(this.id); return false;"><span><span>Add to Cart</span></span></button>

    <script type="text/javascript">
                function addLookItemsToCart(id){
                            var clickedId = id;
                            var theValue = clickedId.replace("button-", "");
                            var theLink = $j('#select-'+theValue).val() );
                            window.location = theLink;
                };
                </script>
                </form>

只是重申一下。例如,如果我将链接http://www.mysite.com.au/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L3Nob3AtdGhpcy1sb29rL2Zlc3RpdmFsLWdlYXJzLTEuaHRtbA,,/product/35895/从源代码中复制出来并粘贴到浏览器中,我就会得到预期的结果。如果我使用window.location的javascript方法,它会重定向我,让我确认大小,我不知道为什么。

问题出现在javascript 中

这行有一个额外的右括号")"。

$j('#select-'+theValue).val() );