Magento Theme在IE中将产品2x添加到购物车(Javascript)

时间:2012-01-26 16:02:01

标签: javascript magento e-commerce shopping-cart

我有一个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>

1 个答案:

答案 0 :(得分:2)

我相信我知道这个问题,当人们这样做时,它让我感到疯狂。正如您从我添加到问题的代码中看到的那样(一旦它经过同行评审),它就非常直接。

你有一个普通的表格,有几个字段和一个按钮。 该按钮有一个onclick事件productAddToCartForm.submitLight(this),我假设提交表单。 IE正在做的是触发这个javascript事件,然后对点击按钮作出反应。反应是提交表格....因此加倍。

您可以通过以下两种方式之一解决此问题:

  1. 将onclick事件更改为productAddToCartForm.submitLight(this); return false;,告知浏览器停止对点击事件的任何额外处理
  2. 将按钮更改为href标签 - 类似于

    <a href="javascript:void();" onclick="productAddToCartForm.submitLight(this);"`
    
  3. 编辑: 忘记提一件事,这应该仍然适用于Safari,Chrome和FF