0

我正在使用 Magento 1.6.2,进行了相当多的自定义 - 包括经过大量修改的购物车模板。

当用户在将商品添加到购物车后单击浏览器的“返回”按钮时,我遇到了问题。我只能使用 Firefox 重现此问题。Chrome 和 IE 工作正常。

重现步骤。

  1. 打开特定产品页面,单击“添加到购物车”。
  2. 您将转到购物车/预览页面。
  3. 使用浏览器的“返回”按钮返回产品视图。
  4. “添加到购物车”按钮现在完全不起作用。在具有自定义必需选项的产品上,不运行验证。真的,什么都没有发生。
  5. 返回产品目录。找到并返回到之前使用的相同项目。
  6. 点击“加入购物车”。一切正常 - 您被重定向到购物车,并更新了数量。

我不知道从哪里开始。有人有想法么?

生产/现场网站: http: //myerstownsheds.com/ “请求报价”实际上是“添加到购物车”按钮,我们还没有出售任何东西。

4

1 回答 1

1

问题是当按钮被点击时,它会被禁用。

这只是 Firefox 中的一个问题,因为当使用后退按钮时,firefox 不会重置页面状态,您往往会以您离开它的确切状态返回到页面,在这种情况下按钮被禁用。

通过单击添加到购物车按钮然后按停止在任何浏览器中复制相同的问题。您不能再次单击该按钮。

在您的页面上,您有一个包含以下内容的 javascript 标记:

    var productAddToCartForm = new VarienForm('product_addtocart_form');
    productAddToCartForm.submit = function(button, url) {
        if (this.validator.validate()) {
            var form = this.form;
            var oldUrl = form.action;

            if (url) {
               form.action = url;
            }
            var e = null;
            try {
                this.form.submit();
            } catch (e) {
            }
            this.form.action = oldUrl;
            if (e) {
                throw e;
            }

            if (button && button != 'undefined') {
                button.disabled = true;
            }
        }
    }.bind(productAddToCartForm);

通过在单击时将按钮设置为“禁用”,Magento 可以防止用户在页面加载缓慢时多次单击该按钮。如果您想解决此问题,您需要删除以下行:

    if (button && button != 'undefined') {
        button.disabled = true;
    }

但你也必须忍受另一个问题。

于 2012-04-18T23:26:01.807 回答