Request 对象之Form集合
Form 集合通过使用 POST 方法的表格检索邮送到 HTTP 请求正文中的表格元素的值。
语法
Request.Form(element)[(index)|.Count]
参数
- element
- 指定集合要检索的表格元素的名称。
- index
- 可选参数,使用该参数可以访问某参数中多个值中的一个。它可以是 1 到 Request.Form(parameter).Count 之间的任意整数。
注释
Form 集合按请求正文中参数的名称来索引。Request.Form(element) 的值是请求正文中所有 element 值的数组。通过调用 Request.Form(element).Count 来确定参数中值的个数。如果参数未关联多个值,则计数为 1。如果找不到参数,计数为 0 。
要引用有多个值的表格元素中的单个值,必须指定 index 值。index 参数可以是从 1 到 Request.Form(element).Count 中的任意数字。如果引用多个表格参数中的一个,而未指定 index 值,返回的数据将是以逗号分隔的字符串。
在使用 Request.Form 参数时,Web 服务器将分析 HTTP 请求正文并返回指定的数据。如果应用程序需要未分析的表格数据,可以通过调用不带参数的 Request.Form 访问该数据。
使用重述符可以遍历表格请求中的所有数据值。例如,用户通过指定两个值填写表格,Chocolate
和 Butterscotch
。对于 FavoriteFlavor
参数,您可以使用下面的脚本检索这些值。
<% For Each item In Request.Form("FavoriteFlavor") Response.Write item & "<BR>" Next %>
上述脚本显示如下。
Chocolate Butterscotch
使用 For...Next 循环可以生成同样的输出,如下列脚本所示。
<% For i = 1 To Request.Form("FavoriteFlavor").Count Response.Write Request.Form("FavoriteFlavor")(i) & "<BR>" Next %>
使用该复述符可以显示参数名。如下列脚本所示。
<% For Each x In Request.Form %> Request.Form( <%= x %> ) = <%= Request.Form(x) %> <BR> <% Next %>
该脚本在浏览器上显示下列信息。
FavoriteFlavor = Chocolate FavoriteFlavor = Butterscotch
示例
请考虑下列表格。
<FORM ACTION = "/scripts/submit.asp" METHOD = "post"> <P>Your first name: <INPUT NAME = "firstname" SIZE = 48> <P>What is your favorite ice cream flavor: <SELECT NAME = "flavor"> <OPTION>Vanilla <OPTION>Strawberry <OPTION>Chocolate <OPTION>Rocky Road</SELECT> <p><INPUT TYPE = SUBMIT> </FORM>
下列的请求正文可以从该脚本中发送。
firstname=James&flavor=Rocky+Road
可以使用下面的脚本。
Welcome, <%= Request.Form("firstname") %>. Your favorite flavor is <%= Request.Form("flavor") %>.
下面的输出就是结果。
Welcome, James. Your favorite flavor is Rocky Road.
如果使用下面的脚本
The unparsed form data is: <%= Request.Form %>
结果为
The unparsed form data is: firstname=James&flavor=Rocky+Road