Magento 主题在 IE (Javascript) 中将产品添加到购物车 2x
我安装了一个带有自定义主题的 magento,可以在 Safari、Firefox 和 Chrome 中正常运行。在 IE 浏览器中,一切似乎也运行良好,只是当我将产品添加到购物车时,它会添加 2 倍,而不是 1 倍。
我正在寻找具有足够 JS 经验的人能够帮助我或解决这个问题。
去看看。 sbx.mujjo.com,在首页上将鼠标悬停在产品缩略图上 >点击【快速查看】> [添加到购物车]。
谢谢!
<form action="http://sbx.mujjo.com/checkout/cart/add/uenc/aHR0cDovL3NieC5tdWpqby5jb20vY2F0YWxvZy9hamF4X3Byb2R1Y3Qvdmlldy9pZC8yNQ,,/product/25/" method="post" class="addcart-form" id="product_addtocart_form">
<fieldset>
<input type="hidden" name="product" value="25">
<input type="hidden" name="related_product" id="related-products-field" value="">
<div class="cell">
<label for="qty">Quantity</label>
<!--<input type="text" class="quantity-text" name="qty" id="qty" maxlength="12" value="1" title="Qty" /> -->
<input type="text" class="quantity-text" name="qty" id="qty" maxlength="12" value="1" title="Qty">
</div>
<button type="button btn-checkout" title="Add to Cart" class="button btn-cart" onclick="productAddToCartForm.submitLight(this)"><span><span>Add to Cart</span></span></button>
</fieldset>
</form>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信我知道问题所在,当人们这样做时,我会发疯。正如您从我添加到问题中的代码中看到的(经过同行评审后),它非常简单。
您有一个普通表单,带有一些字段和一个按钮。
该按钮有一个 onclick 事件
productAddToCartForm.submitLight(this)
,我假设该事件提交表单。IE 所做的就是触发这个 javascript 事件,然后对单击的按钮做出反应。反应是提交表格......因此加倍。
您可以通过以下两种方法之一修复此问题:
productAddToCartForm.submitLight(this); return false;
告诉浏览器停止对点击事件的任何额外处理将按钮更改为 href 标签 - 类似
编辑:
忘了提一件事,这应该仍然适用于 Safari、Chrome 和 FF
I believe I know the problem, and it drives me nuts when people do this. As you can see from the code that I added to the question (once it's peer reviewed), it's pretty straight forward.
You have a normal form, with a few fields and a button.
The button has an onclick event
productAddToCartForm.submitLight(this)
, which I assume submits the form.What IE is doing is firing this javascript event and then reacting to the button being click. The reaction is to submit the form....hence the double up.
You can fix this in one of two ways:
productAddToCartForm.submitLight(this); return false;
which tells the browser to stop any extra processing of the click eventchange the button to a href tag - something like
Edit:
Forgot to mention one thing, this should still work in Safari, Chrome and FF