javascript - 获取将在动态生成的输入中键入的值的最佳方法是什么

标签 javascript

我有一个可以动态创建输入的表单。

它的一个例子是这样的:

<form>
    <input name="item[0][name]">
    <input name="item[1][name]">
</form>

01 是项目的 ID。

请注意,01 可能是 1549,甚至 5208542

没有顺序也没有排序,也没有限制只能是两个项目。

问题是:

“在将这些输入发送到后端之前,获取将在这些输入中键入的值的最佳方法是什么?”

我能想到的唯一方法是在生成表单时添加id,但这看起来一点也不优雅。

如果你想不出更好的方法,那就太好了 =)

最佳答案

您可以使用 document.querySelectorAll() 和属性选择器

function submit() {
  let inputs = document.querySelectorAll('input[name*=item]');
  let values = Array.from(inputs).map(({value})=>value);
  console.log(values);
}
<form>
    <input name="item[0][name]">
    <input name="item[1][name]">
</form>

<button onclick="submit()">Sumbit</button>

关于javascript - 获取将在动态生成的输入中键入的值的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55108535/

相关文章:

javascript - 具有多个可扩展级别和合并单元格的 Angular ui 网格

JavaScript "ch.match is not a function"

c# - 在 ASPX 页面中动态构建 JavaScript 的方法?

javascript - Angular - 如何在 $compile 中使用 $scope?

javascript - 以编程方式向元素添加属性

javascript - Angular bootstrap datepicker - 如何明确设置日期?

javascript - 使用 jQuery 使表单在禁用后重新启用

javascript - AWS s3 存储桶上的 React-Router 位置不起作用

php - 通过 paypal 重定向时无法传递 POST 数据

javascript - 错误: [$compile:tpload] Failed to load template in Angular