十四、创建 HTML 表格

Intranet 和 Internet 服务器应用程序的一个常用功能,是处理浏览器提交的表          
格。以前,您需要编一个程序来处理表格提交的数据。有了 ASP,您可以将 VBS           
cript 脚本直接嵌入到 HTML 文件中来处理表格。ASP 服务器将处理脚本命令并           
将结果返回给浏览器。                                                             
                                                                                 
在本课中,您将创建一个 ASP 主页,用来处理用户通过 HTML 表格提交的数据。          
                                                                                 
                                                                                 
若要查看 .asp 文件是如何工作的,请首先填写下面的表格。使用 Tab 键可以在          
表格中移动。然后单击 提交 按钮,将您的数据发送到 Web 服务器并交给 ASP            
处理。                                                                           
                                                                                 
                                                                                
                                                                                 
----------------------------------------------------------------------           
                                                                                 
表格样本                                                                         
                                                                                 
请提供下列信息,然后单击“提交”:                                               
                                                                                 
                                                                                
                                                                                 
名字:                                                                           
                                                                                 
姓氏:                                                                           
                                                                                 
称呼: 先生 女士                                                                 
                                                                                 
                                                                                
                                                                                 
创建表格                                                                         
                                                                                 
我们已经创建了一个表格来询问用户信息,您可以在 Tutorial 目录 (/iishelp           
/iis/htm/tutorial) 下的 Form.htm 文件中找到它:                                  
                                                                                 
<HTML>                                                                           
                                                                                 
<HEAD><TITLE>Order</TITLE></HEAD>                                                
                                                                                 
<BODY>                                                                           
                                                                                 
<H2>示范订购表格</H2>                                                            
                                                                                 
<P>                                                                              
                                                                                 
请提供以下信息,然后单击“提交”:                                                
                                                                                 
<FORM METHOD="POST" ACTION="response.asp">                                       
                                                                                 
<P>                                                                              
                                                                                 
姓氏: <INPUT NAME="lname" SIZE="48">                                             
                                                                                 
<P>                                                                              
                                                                                 
名称: <INPUT NAME="fname" SIZE="48">                                             
                                                                                 
<P>                                                                              
                                                                                 
称谓: <INPUT NAME="title" TYPE=RADIO VALUE="mr">先生                             
                                                                                 
<INPUT NAME="title" TYPE=RADIO VALUE="ms">女士                                   
                                                                                 
<P><INPUT TYPE=SUBMIT VALUE="提交"><INPUT TYPE=RESET VALUE="重置">               
                                                                                 
</FORM>                                                                          
                                                                                 
</BODY>                                                                          
                                                                                 
</HTML>                                                                          
                                                                                 
象所有 HTML 表格一样,这个表格将数据按变量和数值成对发送到 Web 服务器。          
例如,用户在“名”文字框中键入的内容将赋值给变量“fname”。ASP 提供内建          
的对象,您能够使用这些对象来访问表格提供的变量的名称和数值。                     
                                                                                 
创建 ASP 响应页                                                                  
                                                                                 
现在要学习的内容是如何处理 Web 服务器从 HTML 表格收到的数据。在本课中,          
我们已经创建了一个 .asp 文件 Response.asp,它将处理并显示从 Form.asp 收          
到的数据,不过需要您添加一些额外的脚本命令才行。                                 
                                                                                 
使用您的文本编辑器,打开 localhost Web 服务器 Tutorial 目录 (C:\WINNT\           
Help\iis\htm\tutorial) 下的 Response.asp 文件。                                  
                                                                                 
查找文字“Define Scripting Language”,将以下脚本复制并粘贴到这一行下面          
:                                                                                
                                                                                 
<%@ LANGUAGE = "VBScript" %>                                                     
                                                                                 
请记住将这个标记作为第一行脚本添加到您的 .asp 文件中,这样 Web 服务器才          
知道您的脚本是用哪种语言编写的。                                                 
                                                                                 
                                                                                
                                                                                 
现在查找文字“Tutorial Lesson”,将以下脚本复制并粘贴到找到的行后面:            
                                                                                 
                                                                                 
<%                                                                               
                                                                                 
Title = Request.Form("title")                                                    
                                                                                 
如果在此以前,另一个用户已经学完了教程的这一部分,那么此脚本命令就已经           
在“Tutorial Lesson”命令行下了。用复制的脚本覆盖已有的脚本,或者将未使          
用过的 Response.asp 从 Template 目录复制到 Tutorial 目录中。                     
                                                                                 
                                                                                
                                                                                 
您的表格向 ASP 提交了 3 个不同的变量或值:                                       
                                                                                 
                                                                                
                                                                                 
fname                                                                            
                                                                                 
lname                                                                            
                                                                                 
title                                                                            
                                                                                 
ASP 将 HTML 表格提供的信息存储在 Request 对象的 Forms 集合中。若要进一           
步学习表格和对象的知识,请参阅 使用 HTML 表格 和 内建的 ASP 对象。               
                                                                                 
                                                                                
                                                                                 
若要从 Request 对象获取信息,您只需键入: Request. 集合名称 (或属性名称          
)。所以,Request.Form ("title") 将得到 mr 或 ms,依用户提交的值而定。            
                                                                                 
                                                                                 
                                                                                
                                                                                 
复制以下脚本,并粘贴到第 2 步中插入的行之后:                                    
                                                                                 
LastName = Request.Form("lname")                                                 
                                                                                 
If Title = "mr" Then                                                             
                                                                                 
%>                                                                               
                                                                                 
<%= LastName %>先生                                                              
                                                                                 
<% ElseIf Title = "ms" Then %>                                                   
                                                                                 
<%= LastName %>女士                                                              
                                                                                 
如果在此以前,另一个用户已经学完了教程的这一部分,那么这些脚本就已经存           
在了。用复制的脚本覆盖已有的脚本,或者将未使用过的 Response.asp 从 Tem           
plate 目录 (C:\WINNT\Help\iis\htm\tutorial\template) 复制到 Tutorial 目          
录中。                                                                           
                                                                                 
                                                                                
                                                                                 
VBScript 语句 If...Then..Else 语句将依据“称谓”的值执行 3 种不同的操作          
。如果称谓是 mr,将称用户为“先生”。如果称谓是 ms,将称用户为“女士”           
。否则,将称用户的全名。使用表达式 <%= 变量名 %> 可以显示变量的值。              
                                                                                 
                                                                                
                                                                                 
                                                                                
                                                                                 
如果需要当用户没有选择称谓时显示全名,请将以下脚本复制并粘贴到在第 3 步          
插入的行之后:                                                                   
                                                                                 
<% Else %>                                                                       
                                                                                 
<%= LastName & Request.Form("fname") %>                                          
                                                                                 
<% End If %>                                                                     
                                                                                 
再说一遍,如果在此以前,另一个用户已经学完了教程的这一部分,则这些脚本           
就已经存在了。请用复制的脚本覆盖已有的脚本,或者将未使用过的 Response.           
asp 从 Template 目录( C:\WINNT\Help\iis\htm\tutorial\template) 复制到            
Tutorial 目录中。                                                                
                                                                                 
                                                                                
                                                                                 
其中的“并”号 (&) 将变量的值合并到一个字符串中。最后的 End If 语句 表           
明条件语句结束了。                                                               
                                                                                 
                                                                                
                                                                                 
保存文件 Response.asp 并退出文本编辑器。注意文件后缀 .asp 不要被文本编           
辑器替换。                                                                       
                                                                                 
若要验证您创建的表格是否正常运行,请将您的浏览器导向 http://localhost/           
iishelp/iis/htm/tutorial/form.htm。(此后若要返回本教程,只要在浏览器中          
单击“上一页”或“Back”按钮即可。)                                             
                                                                                 
祝贺您!您的第一个能将结果发送到 .asp 文件的 HTML 表格已经运行了。若要           
学习 ActiveX 服务器组件,请转到 模块 2:使用 ActiveX 组件。                      
                                                                                 
                                                                                
                                                                                 
----------------------------------------------------------------------           
                                                                                 
模块 2:使用 ActiveX 组件                                                        
                                                                                 
请选择本课的脚本语言。                                                           
                                                                                 
ActiveX 服务器组件增强了脚本语言的功能,它提供简洁、可重用和安全的方法           
来访问信息。例如,ASP 的 Database Access (数据库访问)组件,使得脚本可          
以查询数据库。因此,无论何时要从脚本查询数据库,您都可以使用 Database            
Access 组件,而不必编写复杂的脚本。您还能从任何脚本或支持 Automation 的          
编程语言来调用这些组件(ActiveX 服务器组件就是 Automation 服务器)。在           
本模块中,您将使用插入到 ASP 中的 ActiveX 组件,来运行一个示范 Web 节点          
。                                                                               
                                                                                 
现在,您通常应该具备了编写 .asp 文件的基本知识。如果您还不具有,请首先           
学完本教程的“模块 1”。                                                         
                                                                                 
要点                                                                             
                                                                                 
要保存并查看您在本模块中的工作结果,必须在 localhost Web 服务器上对 /i           
ishelp/iis/htm/Tutorial 虚拟目录具有“写 (Write)”和“改编 Web 服务器            
(Script Web server)”权限,当然必须已经安装了 Active Server Pages。              
                                                                                 
第二课演示了一个动态 HTML 脚本小程序。这个脚本小程序显示了一系列交替显           
示的广告图像,每幅图像之间都动态过渡。若要运行这个脚本小程序并查看效果           
,您必须使用 Internet Explorer 4.0 或更高版本。关于 Internet Explorer            
的详细信息,请访问 Microsoft 的 Web 节点 http://www.microsoft.com。