当前位置: 首页 > 图文教程 > 网络编程 > ASP > 学习ASP获取HTML表单提交信息的实例

ASP
Server Application Error错误解决思路
ASP教程:在IIS环境下自己设置404页面
ASP代码出现80040e14错误的解决方法
Http_Referer,Server_Name和Http_Host
HTTP_X_FORWARDED_FOR和REMOTE_ADDR
总结的Server.Mappath的用法
巧用ASP脚本命令重启服务器
实现数字字符串的最大值、最小值和平均值
详解ASP脚本的执行顺序
理解认识阿里妈妈淘客系统对外接口通用规范
网站开发者参考:开源ASP网站源码
IIS管理程序Adsutil.vbs修改FTP服务器的PASV端口范围
ASP程序中调用函数Now()异常的问题
流量大的网站不要选择万能空间
网站挂马方式大总结
启动 W3SVC 服务报错怎么解决
Vista系统安装IIS7配置ASP运行环境
Server Application Error 8004EOOF错误
ASP不用模板直接简单生成HTML页面
ASP教程:gb2312和utf-8乱码问题解决

学习ASP获取HTML表单提交信息的实例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 29 ::
收藏到网摘: n/a

在 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://www.ruanchen.com/quot; 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://www.ruanchen.com/tml/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个值。