如果我有这样的表格:
<form> <input name="param[]" /> <input name="param[]" /> <input name="param[]" /> </form>
在提交表单时,我可以期望以相同的顺序接收这些参数吗?
我注意到Chrome,Rails和Webrat保留了参数的顺序,但这可能是由实现细节而不是遵守标准引起的.
解决方法
这是
standard.我发现
W3C specification非常有用和可读.
application/x-www-form-urlencoded…
The control names/values are listed in the order they appear in the document.
multipart/form-data…
The parts are sent to the processing agent in the same order the corresponding controls appear in the document stream.
我还没有遇到一个不遵循这个约定的浏览器,所以我说你使用它是非常安全的.
话虽这么说,依靠这个惯例,我的语义骨头有点不舒服.如果订购至关重要,我会改为使用:
<form> <input name="param[0]" /> <input name="param[1]" /> <input name="param[2]" /> </form>