在HTML表单中提交的数组的预期顺序是什么?

编程入门 行业动态 更新时间:2024-10-28 04:30:17
本文介绍了在HTML表单中提交的数组的预期顺序是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的使用案例是我有一个保存在服务器端的POST变量顺序。形式表示用户将填写以输入姓名和电子邮件列表。我使用了一个表格行,每行都有两个输入:

< table> < tr> < td>< input type ='text'name ='name []'/>< / td> < td>< input type ='text'name ='email []'/>< / td> < / tr> < tr> < td>< input type ='text'name ='name []'/>< / td> < td>< input type ='text'name ='email []'/>< / td> < / tr> < / table>

该行可能通过javascript进行克隆,以允许用户输入更多姓名和电子邮件,所以我赢了提前知道将提交多少人。

在服务器端,我看到$ _POST ['email']和$ _POST ['name']被设置但我想知道是否可以安全地假设$ _POST ['email'] [0]将对应于$ _POST ['name'] [0],$ _POST ['email'] [1]将对应于$ _POST [']名称'] [1]等等。一些基本的测试似乎表明是的,但我想知道是否有保证或者我是否幸运。

>为什么不添加一个分组键:

< td>< input type ='text'name ='user [ 0] [name]'/>< / td> < td>< input type ='text'name ='user [0] [email]'/>< / td> < / tr> < tr> < td>< input type ='text'name ='user [1] [name]'/>< / td> < td>< input type ='text'name ='user [1] [email]'/>< / td>

然后手动设置用户索引你根据当前的号码进行克隆。这样一切都已经煤化了。

I'm wondering if there is any sort of guarantee on the order of POST variables I will see on the server side.

My use case is I have a form that a user will fill out to enter a list of names and emails. I'm using a table rows, each of which has two inputs:

<table> <tr> <td><input type='text' name='name[]' /></td> <td><input type='text' name='email[]' /></td> </tr> <tr> <td><input type='text' name='name[]' /></td> <td><input type='text' name='email[]' /></td> </tr> </table>

The row might be cloned via javascript to allow the user to type in more names and emails so I won't know ahead of time how many will be submitted.

On the server side, I see $_POST['email'] and $_POST['name'] set but I am wondering if I can safely assume $_POST['email'][0] will correspond to $_POST['name'][0], $_POST['email'][1] will correspond to $_POST['name'][1], and so on. Some basic testing seem to indicate yes but I'm wondering if there is a guarantee or if I'm just getting lucky.

解决方案

why not add a grouping key like:

<td><input type='text' name='user[0][name]' /></td> <td><input type='text' name='user[0][email]' /></td> </tr> <tr> <td><input type='text' name='user[1][name]' /></td> <td><input type='text' name='user[1][email]' /></td>

and then manuall set the user indexes when you clone based on the current number. This way everything is already coallated.

更多推荐

在HTML表单中提交的数组的预期顺序是什么?

本文发布于:2023-10-11 13:58:02,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   表单   顺序   HTML

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!