ASP和HTML表单 (ASP and HTML Forms)
ASP和HTML表单 (ASP and HTML Forms)在 ASP 中,有两个很常用的集合,一个是 Request.QueryString,另一个是 Request.Form。这两个集合可以获取 HTML 表单(HTML Forms) 提交的信息。
有关 HTML 表单,请参见 HTML 教程中的 HTML表单 一章。
Request.QueryString
HTML 表单中的 method 有两种,一种是 get,另外一种是 post。当 HTML 表单的 method="get" 时,可以用 Request.QueryString 来获取表单提交的信息。
以下是一个让用户输入姓名的 HTML 表单示例。
<form action="http://///asdocs/html_tutorials/yourname.asp" method="get">
请输入你的姓名:
<input type="text" name="yourname">
<input type="submit" value="提交">
</form>
该示例中,HTML 表单中使用的 method 为 get,指向 action 的网页是一个 .asp 文件,名字为 yourname.asp。以下是 yourname.asp 文件的源代码:
<html>
<head>
<title>姓名信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p>你的姓名是:<%= Request.QueryString("yourname") %></p>
</body>
</html>
在这个 .asp 文件里,你可以看到最关键的一句代码是:
<p>你的姓名是:<%= Request.QueryString("yourname") %></p>
Request.QueryString 括号里的 "yourname" 对应于 HTML 表单中的 input 输入框的 name 值。
当使用 method="get" 提交表单信息时,用户可以从地址栏看到这些提交信息。
Request.Form
当 HTML 表单中 method = "post" 时,可以用 Request.Form 来获取 HTML 表单提交的信息。
以下是一个让用户输入姓名和密码的 HTML 表单示例。
<form action="http://///asdocs/html_tutorials/userpw.asp" method="post">
请输入你的姓名:<input type="text" name="yourname"><br>
请输入你的密码:<input type="password" name="yourpw"><br>
<input type="submit" value="提交">
</form>
该示例中,HTML 表单中使用的 method 为 post,指向 action 的网页是一个 .asp 文件,名字为 userpw.asp。以下是 userpw.asp 文件的源代码:
<html>
<head>
<title>用户信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p>你的姓名是:<%= Request.Form("yourname") %></p>
<p>你的密码是:<%= Request.Form("yourpw") %></p>
</body>
</html>
在这个 .asp 文件里,你可以看到最关键的两句代码是:
<p>你的姓名是:<%= Request.Form("yourname") %></p>
<p>你的密码是:<%= Request.Form("yourpw") %></p>
Request.Form 括号里的 "yourname" 和"yourpw" 各对应于 HTML 表单中的两个 input 输入框的 name 值。
当使用 method="post" 提交表单信息时,用户不会从地址栏看到这些提交信息。
HTML表单中还有一些可供用户选择的表单控件,比如单选框 input type="radio",复选框 input type="checkbox",单选下拉框 select,复选下拉框 select multiple。
这些选择性的控件示例,请参见 HTML表单教程。在这些示例中,action 指向的那个 .asp 文件叫 choose.asp。以下是 choose.asp 文件的源代码:
<html>
<head>
<title>retrieve information from form controls(radio, checkbox, select) </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
你选择了:<br>
<% For counter = 1 To Request.Form("fruit").Count
Response.Write Request.Form("fruit")(counter) & "<br>"
Next
%>
</body>
</html>
Request.Form 获取的是一个集合 (collection)。Request.Form 集合有两个参数,一个是 element,称做元素,对应 HTML表单控件的 name 值;第二个是 index,称做索引,表示 element 的第几个值,index 从1开始计数。
用 Request.Form(element)(index) 可以引用 Request.Form 集合中某个元素的某个值。
比如 Request.Form("fruit")(1),表示"fruit"元素中的第一个值,Request.Form("fruit")(2) 表示"fruit"元素中的第2个值。
用 Request.Form(element).Count,可以得到集合中某个元素的值的总数量。
比如 Request.Form("fruit").Count 为 3 的话,就表示 "fruit" 这个元素有3个值。
- 联系我们: QQ:82526114(技术) 411523648(客服) 237057746(财务)
- 电话:+86-762-4372098? 邮箱:webmaster@814e.net,support@814e.net
- 粤ICP备05002242号 网监局备案:4403701910502
