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

如何通过JavaScript向name为filesChosen[]的input添加多值?

解决方案

首先明确问题根源:你的页面中只有一个name="filesChosen[]"的input元素,所以document.getElementsByName("filesChosen[]")返回的是仅包含一个元素的集合。当你尝试访问索引x>0的元素时,自然会因为元素不存在而抛出Cannot set properties of undefined错误。

要给这个带multiple="true"的文本输入框追加多个值,遵循以下步骤:

1. 正确获取目标元素

由于input有唯一的idfilesChosen[],直接用getElementById获取更高效可靠:

const filesInput = document.getElementById('filesChosen[]');

2. 追加值的逻辑

带multiple属性的文本输入框,其值是以逗号分隔的字符串。追加新值时只需判断当前值是否为空,再拼接新值即可:

// 示例:追加值"2"
const newValue = "2";
if (filesInput.value) {
  // 已有值,用逗号分隔追加
  filesInput.value += `,${newValue}`;
} else {
  // 为空,直接赋值
  filesInput.value = newValue;
}

补充说明

如果你的需求是模拟多文件选择的提交,更规范的做法是使用type="file"的input并设置multiple属性,但如果业务场景必须使用文本隐藏框,上述方法完全可行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:32:07