You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

购物车商品无法在网页显示的技术求助

购物车商品无法在网页显示的技术求助

嘿,我帮你排查了下问题,都是几个新手容易踩的小坑,咱们一个个修正,很快就能让购物车商品正常显示在页面上:

1. 先解决最核心的script标签问题

你现在写的 <script src="script.js"> 同时在标签内部塞了函数代码,这是不行的!当script标签带了src属性时,标签内部的JavaScript代码会被浏览器直接忽略,所以你的updateCartDisplay函数和重写的addToCart根本没被加载,这就是页面没反应的关键原因。

解决办法:把标签内部的代码全部移到script.js文件里,或者拆成两个独立的script标签(更推荐前者,代码结构更清晰)。

2. 整合所有JS逻辑,避免重复定义

你现在在script.js和HTML的script里都写了addToCart函数,这会导致逻辑覆盖和混乱。我们把所有购物车逻辑都统一放到script.js里,修改后的代码如下:

// 全局购物车数组
let cart = [];

// 添加商品到购物车
function addToCart(item) {
  cart.push(item);
  console.log(item + " added to cart.");
  // 每次添加后更新页面显示
  updateCartDisplay();
}

// 专门负责更新页面购物车展示的函数
function updateCartDisplay() {
  const cartList = document.getElementById('cart-items');
  // 先清空购物车现有内容,避免重复添加
  cartList.innerHTML = '';
  
  // 遍历购物车数组,生成每个商品的列表项
  cart.forEach(item => {
    const li = document.createElement('li');
    li.textContent = item;
    
    // 顺便加个删除按钮,提升用户体验
    const removeBtn = document.createElement('button');
    removeBtn.textContent = '删除';
    removeBtn.style.marginLeft = '10px';
    removeBtn.onclick = () => removeFromCart(item);
    
    li.appendChild(removeBtn);
    cartList.appendChild(li);
  });
}

// 从购物车移除商品的函数
function removeFromCart(item) {
  const index = cart.indexOf(item);
  if (index === -1) {
    console.log(item + " not found in cart.");
  } else {
    cart.splice(index, 1);
    console.log(item + " removed from cart.");
    // 移除后也要更新页面显示
    updateCartDisplay();
  }
}

// 原来的控制台测试代码,需要的话可以保留,注释掉也不影响页面功能
// addToCart("item");
// removeFromCart("item");

3. 修正HTML里的小错误

你第一个显卡的按钮里写的是addToCart('NVIDIA GeForce RTX 4090 Ti'),但对应的商品是RTX 3080 Ti,文字不一致容易让用户困惑,改成和商品名称一致就好:

<h2>Graphics Cards</h2>
<ol>
  <li>NVIDIA GeForce RTX 3080 Ti - €1,199 <button onclick="addToCart('NVIDIA GeForce RTX 3080 Ti')">Add to Cart</button></li>
  <li>AMD Radeon RX 6900 XT - €999 <button onclick="addToCart('AMD Radeon RX 6900 XT')">Add to Cart</button></li>
</ol>

<h1> Items Currently In Your Cart</h1>
<ul id="cart-items">
  <!-- Items will be added here automatically -->
</ul>

<!-- 先引入外部的script.js文件 -->
<script src="script.js"></script>

测试效果

现在点击“Add to Cart”按钮,商品就会自动出现在页面下方的购物车列表里,点击每个商品后面的删除按钮还能移除对应商品,控制台也会同步输出操作日志,完全符合你的需求啦!

备注:内容来源于stack exchange,提问作者user22912810

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:03:06