Javascript 如何将附加字段集附加到html表单
示例:假设我们有一个包含3个字段的表单:pc、part_id、part_details。有时,在添加pc时,您需要向数据库中添加其他零件,因此零件id和零件详细信息应重复(零件id和零件详细信息应对应)。我想要的是将这两个字段附加到表单中的最佳方式 我知道如果您只想复制一个字段,您可以将该字段命名为:Javascript 如何将附加字段集附加到html表单,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,示例:假设我们有一个包含3个字段的表单:pc、part_id、part_details。有时,在添加pc时,您需要向数据库中添加其他零件,因此零件id和零件详细信息应重复(零件id和零件详细信息应对应)。我想要的是将这两个字段附加到表单中的最佳方式 我知道如果您只想复制一个字段,您可以将该字段命名为: <input type="text" name="part_id[]"> 这样我们就可以很容易地得到post数据作为数组。但是现在我们复制了不止一个字段,如果我们在后期使用上述方
<input type="text" name="part_id[]">
这样我们就可以很容易地得到post数据作为数组。但是现在我们复制了不止一个字段,如果我们在后期使用上述方法,那么两个/多个数组将不相关。这里描述的方法似乎是一种很好的方法,但名称一直在变化这一事实也使得使用post数据变得复杂
这里描述了另一种可能的方法。它提供了复制整个表单的想法。我不确定我是否理解正确,但当我尝试在同一页中放置两个相同的表单并提交其中一个表单时,将只提交此表单中的数据,而忽略另一个表单中的数据。此外,它不适合我的场景,因为并非所有字段都应该复制
那么,完成这项复制工作的最佳方法是什么呢?您可以使用另一个级别的索引:
<input type="text" name="pc" />
<!-- First part -->
<input type="text" name="parts[0][part_id]" />
<input type="text" name="parts[0][part_details]" />
<!-- Duplicate part -->
<input type="text" name="parts[1][part_id]" />
<input type="text" name="parts[1][part_details]" />
<!-- Another duplicate part -->
<input type="text" name="parts[2][part_id]" />
<input type="text" name="parts[2][part_details]" />
每个部分(id和详细信息)的字段可以使用jQuery轻松生成。在您提供的链接中,它们没有复制表单,只是表单中的元素,这很好。如果你只是在一台PC上添加多个部件,那么就不会有问题。零件将通过数组索引链接(您可以根据订购情况确定)
part_id[]的第一个实例将对应part_details[]的第一个实例。这在服务器端语言中应该是可以区分的。例如,在PHP中,part_details[2]将与part_id[2]等相对应。这似乎是个好主意,我将在测试后回来,感谢您在实际工作之后,我发现sahbeewah的答案节省了更多的时间。这个答案使得在下一步操作数据变得容易,但是在前端用javascript生成这些字段需要更多的时间。不管怎么说,既然这个答案让我大开眼界,那就投赞成票吧。这应该是一个可行的方法,但我还是不明白他们想做什么。我只是在寻找一种更理想的方式,不用担心服务器端的数据操作。嗯,它不会变得更干净。下一个(浪费的)步骤是在提交时生成自定义JSON对象,并将JSON作为数据提交。你是对的,你的方法更好,它可以节省javascript复制字段的时间。