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

发布于 2024-12-29 16:08:20 字数 1275 浏览 1 评论 0 原文

我安装了一个带有自定义主题的 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>

I've got a magento install with a custom theme that runs fine in Safari, Firefox and Chrome. In IE explorer all seems to work well too, it's just that when I add a product to cart it will add it 2x instead of just 1x.

I'm looking for someone with sufficient JS experience who would be able to help me with, or solve this problem.

To have a look. sbx.mujjo.com, on the frontpage hover a product thumbnail > click [quickview] > [add to cart].

Thanks!

<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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瞳孔里扚悲伤 2025-01-05 16:08:20

我相信我知道问题所在,当人们这样做时,我会发疯。正如您从我添加到问题中的代码中看到的(经过同行评审后),它非常简单。

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

您可以通过以下两种方法之一修复此问题:

  1. 将 onclick 事件更改为 productAddToCartForm.submitLight(this); return false; 告诉浏览器停止对点击事件的任何额外处理
  2. 将按钮更改为 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:

  1. change the onclick event to productAddToCartForm.submitLight(this); return false; which tells the browser to stop any extra processing of the click event
  2. change the button to a href tag - something like

    <a href="javascript:void();" onclick="productAddToCartForm.submitLight(this);"`
    

Edit:
Forgot to mention one thing, this should still work in Safari, Chrome and FF

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文