如果我有这样的表格:
<form>
<input name="param[]" />
<input name="param[]" />
<input name="param[]" />
</form>
在提交表单时,我可以期望以相同的顺序接收这些参数吗?
我注意到Chrome,Rails和Webrat保留了参数的顺序,但这可能是由实现细节引起的,而不是遵守标准。
答案 0 :(得分:11)
这是standard。我发现W3C specification非常有用且可读。
<强>应用程序/ x-WWW窗体-urlencoded ... 强>
控件名称/值按它们在文档中出现的顺序列出。
<强>的multipart / form-data的... 强>
部件以相同的顺序发送到处理代理程序,相应的控件显示在文档流中。
我还没有遇到不符合此惯例的浏览器,所以我说你使用它是非常安全的。
话虽这么说,依靠这个惯例,我的语义骨头有点不舒服。如果订购至关重要,我会改用:
<form>
<input name="param[0]" />
<input name="param[1]" />
<input name="param[2]" />
</form>