将用户输入保存在Array中
Save user input in Array
我是html/js/jquery的真正初学者。
我试图将用户输入保存到一个数组中,然后稍后我想将该数组中的所有信息写入一个xml文件中。
我的问题是,我的表单由多个作业组成,这些作业都有相同的输入字段。
这是第一个作业的简短示例:
<form>
<table class="wrapper">
<tr>
<td style="text-align: left">First Digit:
<div> <input id="fDigit" type="text" name="Job1[]" /></td>
<td style="text-align: left">System:
<div> <input id="system" type="text" name="Job1[]" /></td>
<td style="text-align: left">SAP Modul:
<div> <input id="sapModul" type="text" name="Job1[]" /></td>
</tr>
<tr>
<td style="text-align: left">Country:
<div> <input id="country" type="text" name="Job1[]" /></td>
<td style="text-align: left">Duration:
<div> <input id="duration" type="text" name="Job1[]" /></td>
<td style="text-align: left">Step Number:
<div> <input id="stepNumber" type="text" name="Job1[]" /></td>
</tr>
<tr>
<td style="text-align: left">Optional Text:
<div>
<textarea align ="left" id ="optionalText" name="Job1[]" cols="20" rows="2"> </textarea>
</div>
</td>
</tr>
</table>
</form>
我的脚本中还有更多这样的内容。
我现在想做的是将每个作业的信息保存到一个数组中,意思是Job1[]:对于上面显示的每个字段的用户输入,Job2[]:不同的用户输入但具有相同名称的类似输入字段。也许有一个更简单的解决方案,但我就是想不出来。
如果这是一个太愚蠢的问题,我很抱歉,但我试图找到解决方案,但找不到一个能帮助我的。
提前感谢!
对于初学者来说,最简单的解决方案可能是使用一个为您进行表单序列化的组件。表单应该有一个名称(属性),id可能也会很有用。
我发现form2js非常实用,它可以管理将类似名称的字段收集到数组中。
我还做了一个小小提琴,展示了一种自己收集信息的方法,例如这样。
var job1 = [];
$('[name="Job1[]"]').each(function(index, inputField) {
job1.push($(inputField).val());
});
console.log(job1);
您不需要使用多个数组名称,因为javascript是客户端
只需使用Job1[]
我建议您将数据组织为JSON对象,例如
[{"Country": a, jobs:[your array]},{"Country":b, jobs:[your array]}]
要向数组中插入值,可以使用:your_array.push(value)
希望得到帮助。
您可以在输入名称中使用二维数组,第一个索引是行索引,第二个是列名,类似于Jobs[0][Country]
。最后,您将在一个数组中拥有所有数据。
此外,如果您重复为每个作业发布的标记,请避免在输入中使用id属性,因为这会产生无效的标记Id属性在HTML页面中必须是唯一的,请改用类。
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何为json对象中的段发送array[]
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 用于检查数组中是否存在元素的javascript自定义方法
- Array.length似乎不起作用;console.log则显示其他情况
- 如何迭代Array.prototype函数
- Javascript 新的 Array 和 join() 方法
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- Array.lenght = undefined
- 正在将事件处理程序添加到不存在的类
- Javascript setTimeout for an array
- ES6 Array.prototype.values should'它现在还不存在
- 是否存在相当于“;new Array(number)”;在javascript中
- 在 AngularJS 中将对象推送到 $scope.array 与 var x = [ ] 相比时是否存在任何性能问题
- 将用户输入保存在Array中
- 如何查看Array字段是否存在?
- 将保存在localStorage中的Array
- Array.prototype.stice.appy(arguments,1)存在问题