【发布时间】:2020-07-23 03:57:44
【问题描述】:
我有几个同名输入的 html 表单,我想从 javascripts 作为数组的字段中获取所有值。
<form id="myForm">
<table class="table">
<thead>
<tr>
<th>Val 1</th>
<th>Val 2</th>
<th>Val 3</th>
<th>Val 4</th>
<th>Val 5</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="val_1" value="someVal"></td>
<td><input type="text" name="val_2" value="someVal"></td>
<td><input type="text" name="val_3" value="someVal"></td>
<td><input type="text" name="val_4" value="someVal"></td>
<td>
<select name="val_5">
<option value="1">One</option>
<option value="2">Tow</option>
</select>
</td>
</tr>
</tbody>
<table>
</form>
表单表有 20 多个具有相同字段的 tr,我尝试使用 jquery serialize 和 serializeArray.. 但返回值不像我想要的那样。
我希望结果返回为:
[
0: {val: "value", val:"value"},
1: {val: "value", val:"value"}
and ......
]
更新: 是的,我可以将名称 attr 更改为从 1 开始循环到 100 例如: val_1 start val_100 end 或者如果有人有其他想法请分享,我不希望通过 PHP / jquery ajax 处理返回值 .. 但我想要结果返回为:
[
0: {val_0: "text:, val_1: "text", val_2: "text", val_3: "text", val_4: "text"},
1: {val_5: "text:, val_6: "text", val_7: "text", val_8: "text", val_9: "text"},
2: {val_10: "text:, val_11: "text", val_12: "text", val_13: "text", val_14: "text"},
3: {val_15: "text:, val_16: "text", val_17: "text", val_18: "text", val_19: "text"},
and so on ....
]
通过这种方式,我可以在没有后端进程的情况下将结果处理到数据库
【问题讨论】:
-
如果您尝试将表单发送到后端服务,您可以使用
FormData -
你想要的结果不实用;数组的每个元素,每个对象都应该有唯一的键,而不是全部是
val。 -
多个输入具有相同的
name attributes? -
@KarlL 是的,我的意思是名字 attr
-
你的在哪里尝试并尝试实现这一点?你应该总是展示一个,这不是代码编写服务!
标签: javascript jquery node.js