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

变量赋值异常:JavaScript变量无法获取HTML输入框的值

问题分析与解决

核心问题

你的代码里console.log(username)是在页面加载完成后立即执行的,此时用户还未点击提交按钮,username变量仅被声明但未赋值,所以控制台输出undefined。

修正方案

把console.log(username)移动到点击事件的回调函数内部,这样只有当用户点击提交按钮时,才会获取输入框的值并打印:

修正后的JavaScript代码

let username;

document.getElementById("submit").onclick = function() {
  username = document.getElementById("textarea").value;
  // 点击后才执行打印操作
  console.log(username);
}

额外优化建议

HTML中输入框的ID用textarea不太合适,因为这是<input>元素而非<textarea>,容易造成语义混淆,建议修改ID名称,比如username-input:

优化后的HTML代码

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <label> create a username </label>
  <input id="username-input"><hr>
  <button id="submit">submit</button>  

  <script src=index.js></script>
</body>
</html>

对应修改后的JavaScript代码

let username;

document.getElementById("submit").onclick = function() {
  username = document.getElementById("username-input").value;
  console.log(username);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 10:27:06