window.location没有'不会产生与将相同链接粘贴到浏览器相同的结果-Magento添加到购物车URL
window.location doesn't produce same outcome as pasting the same link into browser - Magento Add To Cart URL
我正在创建一个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() );
相关文章:
- location.reload(true)崩溃浏览器选项卡
- Android 4.4.x WebView在使用location.reload()时会在浏览器中打开一个选项卡
- 浏览器11上的Javascript location.href崩溃
- 浏览器支持 window.location.reload(true)
- 使用 window.location.replace 但页面仍在浏览器的内存中
- JavaScript:window.location不会在所有浏览器上打开一个新窗口
- 使用浏览器返回时,Angular $location不会更新
- Angular$location.search替换浏览器历史记录
- 如果window.location被立即更改,浏览器会生成AJAX吗
- window.location没有'不会产生与将相同链接粘贴到浏览器相同的结果-Magento添加到购物车URL
- window.location.replace()无法重定向浏览器
- 设置document.location时,浏览器会转义一些url无效字符,但不会转义其他字符
- windows .location.hash没有创建浏览器历史记录条目
- location.reload ();在主要浏览器中以相同的方式操作
- 哪些浏览器没有'不支持location.href,如何处理
- 在webkit浏览器中调用location.replace后,无法运行任何异步ajax请求
- 使window.location.htm从服务器加载页面,而不是从浏览器缓存加载页面
- 如何修改/“;Spoof“;运行时的标准浏览器JS DOM对象(Window.location)
- 使用 document.location.href 保存客户端数据时,如何向浏览器建议文件名
- 为什么浏览器行为在使用两个不同的 window.location.href 分配时会有所不同