游客:  注册 | 登录 | 会员 | 在线听歌 | 转帖工具 | 三国游戏 | 论坛设施 | 帮助


标题: HTML教程完全版
xincunganji
Administrator
Rank: 16Rank: 16Rank: 16Rank: 16


月季音乐勋章   忠实会员  
UID 100
精华 18
积分 7093
帖子 5450
金币 14070 点
月季花 17 朵
阅读权限 255
注册 2005-10-3
状态 离线
发表于 2006-1-17 19:20  资料  个人空间  短消息  加为好友 
使用 ASP Request 对象,您可以创建一个简单而功能强大的脚本来收集和处理 HTML 表格数据。在本主题中,您将不仅学会如何创建基本的表格处理脚本,而且还将获得用于验证 Web 服务器和用户浏览器上的表格信息的一些有用技术。

关于 HTML 表格
HTML 表格是收集 Web 信息最常用的方法,是在 Web 页上提供用户界面控件的特殊的 HTML 标记的排列。文本框、按钮和复选框都是典型的控件,这些控件使用户和 Web 页实现交互,并且将信息提交给 Web 服务器。

下面的 HTML 示例产生一个表格,在表格中,用户可以输入姓名、年龄并包含一个将这些信息提交给 Web 服务器的按钮。该表格也包含了一个隐含的控件(Web 浏览器不显示),可以用该控件向 Web 浏览器传递附加信息。

<FORM METHOD="POST" ACTION="myfile.asp">
<INPUT TYPE="text" NAME="firstname">
<INPUT TYPE="text" NAME="lastname">
<INPUT TYPE="text" NAME="age">
<INPUT TYPE="hidden" NAME="userstatus" VALUE= "new">
<INPUT TYPE="submit" VALUE="Enter">
</FORM>
处理 ASP 输入的表格
在表格向 Web 服务器提交信息时,用户的 Web 浏览器请求用 HTML <FORM > 标记的 ACTION 属性所指定的 .asp 文件(在前面的例子中,该文件被称为 Myfile.asp)。.asp 文件包含了处理表格值(如显示结果表或从数据库查询信息)的脚本。

可以通过三种途径用 .asp 文件收集 HTML 表格的值

静态的 .htm 文件可以包含一个将其数值邮送给 .asp 文件的表格。
.asp 文件可以创建一个将其信息邮送给另一个 .asp 文件的表格。
.asp 文件可以创建一个将其信息邮送给自身的表格,即包含该表格的文件。
前两个方法的操作方式相同,当表格与网关程序交互时,除 ASP 之外,可以包含读取和响应用户选择的命令。

创建一个包含表格定义且传送信息给自身的 .asp 文件较复杂,但却是有很强功能的处理表格的方法。这一过程在 验证表格输入 中演示。

获得表格输入
ASP Request 对象提供了两种集合,在很大程度上简化了检索附加在 URL 请求上的表格信息的任务。

QueryString 集合
QueryString 集合获取作为跟在请求的 URL 的问号后面的文本传递给 Web 服务器的值。通过使用 HTTP GET 方法或手工将表格的值添加到 URL,表格的值可以被附加在请求的 URL 之后。

例如,如果先前的表格示例使用 GET 方法 (ACTION = "GET") 且用户键入 Jeff、Smith 和 30,那么下面的 URL 请求将被发送给服务器:

http://scripts/Myfile.asp?firstn ... &userstatus=new
Myfile.asp 包含下面的表格处理脚本:

Hello, <%= Request.QueryString("firstname") %>   <%= Request.QueryString("lastname") %>.
You are <%= Request.QueryString("age") %> years old.


<%
If Request.QueryString("userstatus") = "new user" then
Response.Write"This is your first visit to this Web site!"
End if   
%>
在这种情况下,Web 服务器将返回下面的文本给用户的 Web 浏览器:

Hello, Jeff Smith. You are 30 years old. This is your first visit to this Web site!
QueryString 集合有一个可选参数,可用来访问显示在请求正文中的多个值中的一个。也可以使用 Count 属性计算一个特殊类型的值的出现次数。

例如,表格包含一个多项目的列表框可以提交下面的请求:

http://list.asp?food=apples&food=olives&food=bread
您也可以使用下面的命令去对多个值计数:

Request.QueryString("food").Count
如果想显示多个值的类型,List.asp 应包含下面的脚本;

<%Total = Request.QueryString("food").Count%>
<%For i = 1 to Total%>
<%= Request.QueryString("food")(i) %> <BR>
<%Next%>
上述脚本将显示:
apples
olives
bread
Form 集合
当使用 HTTP GET 方法去向 Web 服务器传递长而复杂的表格值时,将可能丢失信息。大多数的 Web 服务器倾向于严格控制 URL 查询字符串的长度,以便用 GET 方法传送的冗长的表格值被截断。如果您需要从表格发送大量信息到 Web 服务器,就必须使用 HTTP POST 方法。此法用于在 HTTP 请求正文中发送表格数据,而且发送的字符的个数可以无限多。也可以使用 ASP Request 对象的 Form 集合检索用 POST 方法发送的值。

Form 集合与 QueryString 集合存储数值的方式相同。例如,如果用户用一长串名称填充表格,您就可以用下面的脚本检索这些名称:

<% For i = 1 to Request.Form.Count %>
<% =Request.Form("names")(i) %>
<% Next %>
验证表格输入
一个好的表格处理脚本在处理数据前,应先验证输入表格的信息是否有效。验证脚本可以检验用户输入到表格的信息类型是否正确。例如,如果您的 Web 站点包含一个表格,该表格允许用户计算财务信息,那么在处理结果之前,需要验证用户确实输入了数值信息而不是文本。

一个非常方便的验证表格输入的方法是创建一个向自身传递信息的表格。在这种情况下,.asp 文件包含可获取信息的表格。例如,下面的脚本通过向自身传递信息来验证用户是否在 "age" 表格字段中输入了数值:

<% If Isnumeric(Request.QueryString("Age")) then %>         
<p>Hello, your age is <%=Request.QueryString("age")%>
<%Else %>
<p>Please enter a numerical age.
<%End If %>

<FORM METHOD= "POST" ACTION="verify.asp" >   
Name: <INPUT TYPE="text" NAME="Name" >
Age: <INPUT TYPE="text" NAME="Age" >
<INPUT TYPE="submit" VALUE="Enter">         
</FORM>
在这个例子中,脚本也在包含表格的同一 Verify.asp 文件中。表格通过在 ACTION 属性中指定 Verify.asp 向自身传送信息。

您也可以创建客户端脚本来检验用户是否输入了有效的信息。验证用户在 Web 浏览器上的输入除了更迅速地向用户提示表格项错误外,还可以减少 Web 服务器的网络流量。下面的脚本运行在用户的 Web 浏览器上,在将信息提交到 Web 服务器之前,验证用户信息。

<SCRIPT LANGUAGE="VBScript">
<!--
Sub btnEnter_onClick
Dim TheForm
Set TheForm = Document.MyForm
If IsNumeric(TheForm.Age.Value) Then     
TheForm.submit           
Else
Msgbox "Please enter a numerical age."   
End if
End Sub
//-->
</SCRIPT>

<FORM METHOD= "POST" NAME= MyForm ACTION="myfile.asp" >   
Name: <INPUT TYPE="text" NAME="Name" >
Age: <INPUT TYPE="text" NAME="Age" >
<INPUT TYPE="button" NAME="btnEnter" VALUE="Enter">         
</FORM>

顶部
xincunganji
Administrator
Rank: 16Rank: 16Rank: 16Rank: 16


月季音乐勋章   忠实会员  
UID 100
精华 18
积分 7093
帖子 5450
金币 14070 点
月季花 17 朵
阅读权限 255
注册 2005-10-3
状态 离线
发表于 2006-1-17 19:20  资料  个人空间  短消息  加为好友 
00011

顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
xincunganji
Administrator
Rank: 16Rank: 16Rank: 16Rank: 16


月季音乐勋章   忠实会员  
UID 100
精华 18
积分 7093
帖子 5450
金币 14070 点
月季花 17 朵
阅读权限 255
注册 2005-10-3
状态 离线
发表于 2006-1-17 19:21  资料  个人空间  短消息  加为好友 
00012

顶部
xincunganji
Administrator
Rank: 16Rank: 16Rank: 16Rank: 16


月季音乐勋章   忠实会员  
UID 100
精华 18
积分 7093
帖子 5450
金币 14070 点
月季花 17 朵
阅读权限 255
注册 2005-10-3
状态 离线
发表于 2006-1-17 19:21  资料  个人空间  短消息  加为好友 
00013

顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
xincunganji
Administrator
Rank: 16Rank: 16Rank: 16Rank: 16


月季音乐勋章   忠实会员  
UID 100
精华 18
积分 7093
帖子 5450
金币 14070 点
月季花 17 朵
阅读权限 255
注册 2005-10-3
状态 离线
发表于 2006-1-17 19:21  资料  个人空间  短消息  加为好友 
000014

顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
相约到永久
月季版主
Rank: 10Rank: 10Rank: 10
我想吃糖




月季VIP勋章  
UID 699
精华 0
积分 1149
帖子 920
金币 4390 点
月季花 13 朵
阅读权限 150
注册 2006-1-3
状态 离线
发表于 2006-1-17 19:35  资料  个人空间  短消息  加为好友 

顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
KKPYER
荣誉会员
Rank: 8Rank: 8


优秀管理勋章  
UID 119
精华 1
积分 1008
帖子 659
金币 1000 点
月季花 15 朵
阅读权限 100
注册 2005-10-9
来自 广西区南宁市七星路119号
状态 离线
发表于 2006-1-17 20:46  资料  个人空间  短消息  加为好友 
果然是精华。精华还是值得看的。谢谢了。一定学好。





风没动,幡也没动,而是你的心在动;胖也好,瘦也好,何须庸人自扰(CCTV张越)。
顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
kkzzhh
月季园丁
Rank: 3Rank: 3



UID 599
精华 1
积分 327
帖子 165
金币 1194 点
月季花 8 朵
阅读权限 30
注册 2005-12-22
状态 离线
发表于 2006-1-19 06:26  资料  个人空间  短消息  加为好友 
衷心感谢!!!(xincunganji 超级版主)楼主辛苦了

顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
moon29990
Administrator
Rank: 16Rank: 16Rank: 16Rank: 16
重装系统解决




忠实会员  
UID 6
精华 1
积分 2299
帖子 2012
金币 2169 点
月季花 8 朵
阅读权限 255
注册 2005-5-11
状态 离线
发表于 2006-1-19 09:16  资料  个人空间  短消息  加为好友 
好复杂啊。。





顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
jinfusir
Administrator
Rank: 16Rank: 16Rank: 16Rank: 16


UID 160
精华 5
积分 7186
帖子 6316
金币 880 点
月季花 27 朵
阅读权限 255
注册 2005-10-22
状态 离线
发表于 2006-1-19 09:32  资料  个人空间  短消息  加为好友 
确实不是一般的复杂啊

顶部
蓝色月季--歌曲免费在线试听、下载,高速高品质
 


Top
Powered by Discuz! 5.5.0  Style Design by [DST] Rain.stone
Processed in 0.010959 second(s), 7 queries , Gzip enabled
清除 Cookies - 联系我们 - :::月季社区::: - Archiver - WAP
桂ICP备06015952号