javascript/jquery-ajax:输入具有相同的name属性时会发生什么
假设我有一个表单,它有一些相互链接的输入。据推测,我经营一家比萨饼店,用户在那里提交一份表格和他们的比萨饼订单。每个比萨饼订单都有一组与订单相关的输入:javascript/jquery-ajax:输入具有相同的name属性时会发生什么,javascript,jquery,ajax,forms,http,Javascript,Jquery,Ajax,Forms,Http,假设我有一个表单,它有一些相互链接的输入。据推测,我经营一家比萨饼店,用户在那里提交一份表格和他们的比萨饼订单。每个比萨饼订单都有一组与订单相关的输入:类型、选项1和选项2。如果客户想要更多的比萨饼,他们可以添加另一组表单输入。下面的代码模拟了2个比萨饼的订单: <form action="pizza/get-now.html"> First Pizza: <input type="text" name="pizza" value="quattro stagi
类型
、选项1
和选项2
。如果客户想要更多的比萨饼,他们可以添加另一组表单输入。下面的代码模拟了2个比萨饼的订单:
<form action="pizza/get-now.html">
First Pizza:
<input type="text" name="pizza" value="quattro stagioni"><br>
<input type="text" name="option1" value="extra bacon"><br>
<input type="text" name="option2 value="no tomatoes"><br>
Second Pizza:
<input type="text" name="pizza" value="vegetarian"><br>
<input type="text" name="option1" value="extra mushrooms"><br>
<input type="text" name="option2 value="no cheese"><br>
<button type="submit">Submit</button>
</form>
第一批比萨饼:
提交
如果我使用的是jQuery的serializeArray(),我有一些不确定性:
serializeArray()
附带的东西吗?我这样问是因为在网络提交时,我看到的只是名称和值对[]
附加到字段名称的末尾,以便对其进行整理。在C#MVC中,您需要将模型定义为每个项目都有一个List
属性,或者更好地定义为List
并将比萨饼绑定为整个实体
如果没有,那么在客户端(如果有的话)处理这些类型的分组表单的最佳方法是什么,以使奶酪怪胎得到解决
作为上述描述的扩展,它取决于您的服务器端代码,以及它希望您以何种格式发送数据
我意识到这可能不是你所希望的答案,但鉴于你问题中的信息,这是你所能提供的一切。但是,一般来说,
serializeArray()
在发送表单数据时没有多大帮助。要完成您的方法,您应该如下组织表单:
<form action="pizza/get-now.html">
First Pizza:
<input type="text" name="pizza[0]" value="quattro stagioni"><br>
<input type="text" name="pizza[0][option1]" value="extra bacon"><br>
<input type="text" name="pizza[0][option2]" value="no tomatoes"><br>
Second Pizza:
<input type="text" name="pizza[1]" value="vegetarian"><br>
<input type="text" name="pizza[1][option1]" value="extra mushrooms"><br>
<input type="text" name="pizza[1][option2]" value="no cheese"><br>
<button type="submit">Submit</button>
</form>
第一批比萨饼:
第二批比萨饼:
提交
您应该创建所有字段的数组,如pizza[]
,option1[]
等。请注意,这是假设一个PHP后端。OP没有指定。对于.serializeArray()
,它不是更好吗?我认为函数“合并”输入值(并取最后的值),在任何情况下,服务器都不会拥有所有的值,因此..我必须配置列表,以便为每个输入组接收类似{pizza:'val',option1:'val',option2:'val}的内容,然后呢?(我正在使用Spring,但我的问题更一般,因为我假设在构建数据文件时,我可以从客户端控制一切。)