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

全局变量声明返回undefined,点击按钮时inputValue打印undefined的原因

问题分析与解决

核心问题

  1. 选择器语法错误:你写的document.querySelector("\".addButton\"")里嵌套了多余引号,导致无法正确匹配DOM元素,这会让input变量获取不到输入框元素,直接取.value自然返回undefined。
  2. 值的获取时机错误:页面加载时就获取输入框的.value,此时用户还没输入内容,inputValue保存的是初始空值,点击按钮时打印的是这个旧值,而非当前输入的内容。

修正后的代码

const addButton = document.querySelector(".addButton");
const listBox = document.querySelector(".listBox");
const input = document.querySelector(".addtext"); // 先获取输入框元素,暂不取value

addButton.addEventListener('click', () => {
  const inputValue = input.value; // 点击时实时读取当前输入值
  console.log(inputValue);
});

关键修改点

  • 移除选择器内多余的嵌套引号,确保能正确定位DOM元素
  • 将获取输入框值的逻辑移到点击事件回调中,每次点击都实时读取最新输入内容
  • 用const替代不必要的let,保持变量声明的严谨性

内容的提问来源于stack exchange,提问作者Samuel666

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:55:23