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

ASP
分享一段代码show.asp?id=26变成show/?26的形式
多域名一网站时如果返回最原来的域名
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
TSYS中生成静态页时溢出: ''CInt''
对象标记具有无效的 ''MSWC.MyInfo'' ProgID
[原创]随机增加网站点击的一个不错的方法
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
反SPAM新思路—换Z-BLOG的验证码!
七步倒┈→专用asp后门
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
使用ASP实现网站的“目录树”管理的代码
ShowPage 显示“上一页 下一页”等信息的封装代码
[原创]站长感慨asp编程究竟何去何从
响应对象 错误 ''ASP 0185 : 80020003'' 缺少默认属性
[原创]asp下用实现模板加载的的几种方法总结
[原创]asp获取URL参数的几种方法分析总结
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
ASP程序中输出Excel文件实例一则
ASP应用中如何限制同一表单被多次提交

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 40 ::
收藏到网摘: 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个值。