html - HTML 表单数组中的方括号。只是常规的还是有意义的?

标签 html arrays forms

如果你想创建一个 FORM 数组,我经常看到下面的写法,尤其是在 PHP 世界中。

<input name="MyArray[]" />
<input name="MyArray[]" />

用方括号[]。尽管如此,提交操作只是将相同的键输入传递了两次。看起来 [] 只是常规的,可以很好地映射到 PHP 世界数组,但您只需使用以下内容即可获得相同的结果

<input name="MyArray" />
<input name="MyArray" />

事实上,在 django 中,我得到了一个包含两个条目的列表,无论使用何种样式。

这是真的吗? [] 只是常规的,还是从 HTML 和 HTTP 键/值信息中实际上有真正的含义?

最佳答案

它们解决了 PHP 的局限性,如果提交多个具有相同名称的值,例如来自一组复选框或多项选择,PHP 不会自动生成数组。 (IIRC 它只返回最后一个值。)

就我个人而言,我一直认为这是一个非常劣质的解决方法。即使是经典的 ASP 也可以解决这个问题,而不需要客户端添加标记。服务器端平台没有业务以这种方式对客户端强加标记要求。

关于html - HTML 表单数组中的方括号。只是常规的还是有意义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1688599/

相关文章:

php - 创建表单 $post 并在提交时提交用户 ID

JavaScript 和 Django, "there is no locally stored liblary for the HTTP"

php - 使用 SimpleXML 获取 "Form"元素,该元素具有类型为 "input"的 "password"标签?

javascript - 我必须创建一个函数,它返回传入的数组的最后一个元素

angularjs - 为什么 id Chrome 扩展弹出窗口在输入自动完成建议点击时关闭?

html - 多个复选框,只有一个可选

javascript - 在 AngularJS 应用程序中路由后无法聚焦于文本字段

html - Ionic - 固定 div 在 ion-content 内滚动

Java - 未引用的数组仍然占用内存

c - 关于传递 3 维数组以在 C 中运行的歧义