如何在表单提交中从值对创建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 ?
答案 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)是可选的,可以是你想要的任何东西(或根本没有),但我使用它们,这样一旦你得到返回值就更有意义了。现在提交表单时,您应该收到from
和to
数组。
答案 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了解更多详情