Answers:
如SO所述:
浏览器可以。但是,应用程序库解析它的方式可能有所不同。
程序应该将名称相同的项目组合在一起。尽管HTML规范没有明确说明这一点,但是它在复选框的文档中隐式声明:
“表单中的多个复选框可以共享相同的控件名称。因此,例如,复选框允许用户为同一属性选择多个值。”
附带说明一下,在PHP中,如果对字段名称使用PHP的arry语法,则可以使用具有相同名称的表单字段:
<form>
<input name="email[]" />
<input name="email[]" />
<input name="email[]" />
</form>
这将导致浏览器以PHP将用于填充以下字段的数组的语法发送表单字段:$_REQUEST['email']
。如果使用PHP,则这是处理它的首选方法。
HTML5
非规范性部分4.10.1.3配置表单以与服务器进行通信明确表示该表单有效:
多个控件可以具有相同的名称;例如,在这里,我们为所有复选框赋予相同的名称,服务器通过查看使用该名称提交的值来区分选中了哪个复选框-像单选按钮一样,它们也被赋予带有value属性的唯一值。
对此的规范版本只是在任何地方都禁止使用,并且表单提交算法确切说明了应该生成什么请求:
application/x-www-form-urlencoded
在“表单数据集”上循环并吐出多个key=val
https://www.w3.org/TR/html5/forms.html#url-encoded-form-data