函数onClick() - 购物车没有添加 - 出了什么问题?

问题描述 投票:1回答:1

我在Shopify上有一个带有“添加到购物车”按钮的产品页面。

点击后,产品将添加到购物车,页面重定向到另一个追加销售产品。

在他们将所有产品添加到购物车后,它会转到结帐页面,但它只显示追加销售产品而不是第一个产品用户想要购买。下面的代码有什么问题?

如何让两种产品都出现在收银台?

<script>
function redirectToUpsellPageHandler(wrapper) {
  var upsellPageUrl = '/clientproducts/cryogenic-storage';
  var addToCartButton = wrapper.querySelector('.sqs-add-to-cart-button');
  var productVariants = wrapper.querySelector('.product-variants');

  if (addToCartButton) {
    addToCartButton.addEventListener('click', onClick);
  }

  function isVariantInStock() {
    return productVariants.getAttribute('data-variant-in-stock');
  }

  function onClick() {
    if (productVariants && isVariantInStock() || !productVariants) {
      setTimeout(function() {
        document.location.href = upsellPageUrl;
      }, 1000);
    }
  }
}

function redirectToUpsellPage() {
  // Product Page
  var productPage = document.querySelector('.collection-type-products.view-item');
  if (productPage) {
    redirectToUpsellPageHandler(productPage);
  }

  // Product Blocks
  var productBlocks = [].slice.call(document.querySelectorAll('.sqs-block-product'));
  productBlocks.forEach(redirectToUpsellPageHandler);
}

document.addEventListener('DOMContentLoaded', redirectToUpsellPage);
window.addEventListener('mercury:load', redirectToUpsellPage);
</script>
javascript jquery squarespace
1个回答
-1
投票

添加一些console.log并确保您进入onClick功能。如果你不是,那么使用名为onClick的函数可能存在某种类型的问题,因为这是jQuery或JS中的保留函数。

© www.soinside.com 2019 - 2024. All rights reserved.