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

TypeScript中如何获取多个动态生成input输入框的输入值并解决类型报错?

解决方法

你遇到的报错是TypeScript的类型检查提示,document.getElementsByName返回的元素默认是通用HTMLElement类型,该类型没有value属性,你需要将其断言为<input>对应的HTMLInputElement类型即可。

TypeScript 写法:

// 直接对整个NodeList做类型断言
const criteria_elems = document.getElementsByName('criteria-field') as NodeListOf<HTMLInputElement>;

const values = []
criteria_elems.forEach((inputElem) => {
    // 这里可以直接读取value,没有类型报错
    console.log(inputElem.value)
    values.push(inputElem.value)
})
// values就是所有输入框的内容组成的数组

原生JavaScript 写法:

如果是纯JS环境没有TS类型检查,你的代码本身是可以直接运行拿到值的,如果你需要快速收集所有输入值可以直接写成:

const valueArr = Array.from(document.getElementsByName('criteria-field')).map(item => item.value)
console.log(valueArr)

注意:确保执行获取值的逻辑时,所有动态生成的输入框已经完全挂载到DOM树中,否则会出现获取不全的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:06:04