十四、创建 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。