0

我正在尝试使用 Hash (%in) 中的 ReadParse() 函数从表单中读取值,我没有按照我在表单中提交的顺序获取元素,我想获得与我在表单中提交的相同的顺序,请给我解决方案。谢谢。

4

2 回答 2

2

查看perldoc CGI FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:

my @names = $query->param;

从 1.5 版开始,返回的参数名称数组将与浏览器提交的顺序相同。通常此顺序与在表单中定义参数的顺序相同(但是,这不是规范的一部分,因此不能保证)。

于 2014-11-07T07:09:28.213 回答
0

哈希键/值不按它们添加的顺序存储。

你想达到什么目的?也许还有另一种方式?

我没有意识到 HTML 规范中指定了顺序:

应用程序/x-www-form-urlencoded

这是默认的内容类型。使用此内容类型提交的表单必须编码如下:

  1. 控件名称和值被转义。空格字符被 '+' 替换,然后保留字符被转义,如 [RFC1738] 第 2.2 节所述:非字母数字字符被替换为 '%HH'、一个百分号和两个代表 ASCII 码的十六进制数字特点。换行符表示为“CR LF”对(即,'%0D%0A')。
  2. 控件名称/值按照它们在文档中出现的顺序列出。名称与值之间用“=”分隔,名称/值对之间用“&”分隔。[ http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4]
于 2014-11-07T06:17:32.903 回答