从提交的值创建数组

时间:2011-04-22 23:35:17

标签: html forms

如何在表单提交中从值对创建2个HTML数组?

from <input type="text" name="val_a1" value="1">
to <input type="text" name="val_b1" value="2">

from <input type="text" name="val_b1" value="3">
to <input type="text" name="val_b1" value="4">

from <input type="text" name="val_c1" value="5">
to <input type="text" name="val_c1" value="6">

看起来像

array[1,3,5] and array[2,4,6]

我是否需要五个唯一的字段名称,例如我的示例或只保留 val_a val_b

3 个答案:

答案 0 :(得分:2)

在字段名称中使用括号使输入值返回数组:

from <input type="text" name="from[0]" value="1">
to <input type="text" name="to[0]" value="2">

from <input type="text" name="from[1]" value="3">
to <input type="text" name="to[1]" value="4">

from <input type="text" name="from[2]" value="5">
to <input type="text" name="to[2]" value="6">

请注意,键(0,1,2)是可选的,可以是你想要的任何东西(或根本没有),但我使用它们,这样一旦你得到返回值就更有意义了。现在提交表单时,您应该收到fromto数组。

答案 1 :(得分:2)

AFAIK您可以拥有多个具有相同名称的查询值。因此,它将取决于您使用什么后端来解析查询字符串。通常的做法是命名几个应该组合在一起的字段name[],然后大多数后端将其转换为数组。因此,请在后端尝试两种方法并检查它们的处理方式!

答案 2 :(得分:1)

如果你只是想要一个数组,你就可以这样做

from <input type="text" name="from[]" value="1">
to <input type="text" name="to[]" value="2">

from <input type="text" name="from[]" value="3">
to <input type="text" name="to[]" value="4">

from <input type="text" name="from[]" value="5">
to <input type="text" name="to[]" value="6">

你不需要给他们编号,他们将按顺序收到

但您也可以进入嵌套,请参阅this post了解更多详情