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

为什么表单提交时获取到的input输入值为空字符串?

问题根因

输入框取值逻辑执行时机错误:你在脚本初始化阶段就读取了三个输入框的value,此时页面刚完成加载,用户未进行任何输入操作,三个变量存储的是输入框初始的空字符串。后续触发表单提交事件时,你打印的是脚本初始化时缓存的旧值,并非提交时刻输入框的实时内容。

解决方案

将取值逻辑移入表单提交的事件回调函数中,每次触发表单提交时再读取输入框的最新值即可。你也可以提前存储DOM元素引用,避免每次触发事件都重复查询DOM,优化性能。

修正后的代码
const formulario = document.querySelector("form");
// 仅提前存储DOM元素引用,不读取value
const nombreInput = document.querySelector("#names");
const emailInput = document.querySelector("#email");
const passwordInput = document.querySelector("#password");
let correctData = [];
let errors = [];

formulario.addEventListener("submit", (e) => {
    e.preventDefault();
    // 提交时读取最新的输入值
    const nombre = nombreInput.value;
    const email = emailInput.value;
    const password = passwordInput.value;
    console.log(nombre);
    console.log(email);
    console.log(password);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:15:05