本章将扩充你的初级HTML标识符的知识,向你讲述怎样使用窗体、列表及表格。通过使用窗体,你可以与参观你网页的用户进行交互,本章也向你介绍怎样使用HTML标识符了创建信息列表,读完本章后,你还可在你的网页上使用HTML表格来设计更好的界面。

使用HTML窗体

要建立一个交互式的网点,你需要使用HTML窗体,它可以让你收集参观你网点的用户提供的信息,并对此作出反应。使用窗体,你可以建立类似复选框、单选按钮及文本框的控件。

掌握窗体的使用对高效的Active Server Pages编程是必需的。ASP脚本的一个主要功能是对HTML窗体中输入的信息进行处理,因此,你应当将窗体看作是ASP应用程序中主要的用户接口。

要建立HTML窗体,可以使用<FORM>标识符,它是一个容器标识符,包含其它窗体元素并在它的属性中指明对于此窗体中收集的信息应怎样处理。下面是个非常简单的窗体例子:

<HTML>

<HEAD>

<TITLE> Simple Form </TITLE>

</HEAD>

<BODY >

<FORM>

<INPUT>

</FORM>

</BODY>

</HTML>

当这个HTML文件在网络浏览器上显示时,一个三维外观的框会显示在屏幕上(如图6.1),你可以在框中输入任何你需要的文字。然而它是死的,你输入文字后什么也不会发生。这个窗体实在是太简单了,没有什么实际用途。

这个例子的一个问题是窗体不知道何时你已经输入信息完毕了。要解决这个问题,你需要加入另一个窗体元素:submit按钮。下面的例子是同一个窗体,只是加了一个submit按钮:

<HTML>

<HEAD>

<TITLE> Simple Form </TITLE>

</HEAD>

<BODY >

<FORM>

<INPUT>

<INPUT TYPE=SUBMIT VALUE=Submit Me!>

</FORM>

</BODY>

</HTML>

当你显示这个修改后的HTML文件时,出现了一个具有Submit Me!文字的按钮,用鼠标点击这个Submit Me!按钮,你就表明你已经在这个文本框中输入完信息了。这就通知浏览器它应该对输入的信息进行处理。

图6.1 一个简单的HTML窗体

然而,现在窗体还不知道怎样处理它收集到的信息,你必须通过<FORM>的ACTION属性来通知窗体怎样处理这些信息。ACTION属性决定了窗体对输入的信息将会采取何种方式处理。下面的例子显示了怎样使用这个属性:

<HTML>

<HEAD>

<TITLE> Simple Form </TITLE>

</HEAD>

<BODY >

<FORM ACTION=“MAILTO:billg@microsoft.com”>

<INPUT>

<INPUT TYPE=SUBMIT VALUE=Submit Me!>

</FORM>

</BODY>

</HTML>

当你在窗体中输入完信息并提交后,ACTION属性就会告诉窗体信息应当立即被送往Microsoft的Bill Gates。你可以使用下面的语句来将窗体信息发往任何一个Internet 地址:

<FORM ACTION=“MAILTO:name@domain.com>

然而,你很少要将窗体信息发往一个E_Mail地址,在大部分情况下,你需要把窗体信息发给本地网点进行处理。第15章“使用多个Active Server Pages”介绍了怎样建立Active Server Pages脚本来处理窗体信息。要将窗体信息发往一个Active Server Page,你可以使用下面的HTML语句:

<HTML>

<HEAD>

<TITLE> Simple Form </TITLE>

</HEAD>

<BODY >

<FORM ACTION=“/somedirectory/mypage.asp” METHOD=“POST”>

<INPUT>

<INPUT TYPE=SUBMIT VALUE=“Submit Me!”>

</FORM>

</BODY>

</HTML>

在此例中,ACTION和METHOD属性指明了窗体信息应当被发送给名为mypage.asp的Active Server Pages去处理。ACTION属性给出了Active Server Pages的路径,METHOD属性指明窗体信息通过什么方式送出。在此粒中,在文本框中输入的窗体信息通过post方式送给Active Server Pages。

几乎在所有的情况下,<FORM>标识符都和本例中的用法一样,你可以通过ACTION属性来指定处理窗体的Active Server Page,并且通过METHOD属性指定窗体信息用post方式发送。

在这个例子中,还要加入一条语句才能使之实用化。当你包含例如文本框之类的窗体元素时,你应当为每个窗体元素起一个名字。你可以通过<INPUT>的NAME属性来实现这一点。下面的例子有两个不同的文本框,分别叫作text1和text2:

<HTML>

<HEAD>

<TITLE> Simple Form </TITLE>

</HEAD>

<BODY >

<FORM ACTION=“somedirectory/mypage.asp” METHOD=“POST”>

<INPUT NAME=“text1”>

<INPUT NAME=“text2”>

<INPUT TYPE=SUBMIT VALUE=Submit Me!>

</FORM>

</BODY>

</HTML>

在此例中,在名为text1的文本框中输入的信息当被传送给网站处理时,将会与名字text1相关联,这样在第一个文本框中输入的信息就与在其它窗体元素中输入的信息区别开来。

窗体信息将会送到在ACTION属性中指定的目的地去,这个信息包括用&符号分隔的名字和值。例如,如果你在第一个文本框中输入your first name,在第二个文本框中输入your last name,则送去处理的信息将会是:

text1=yourfirstname&text2=yourlastname

事实上,在发送之前,窗体信息要先编码。当文本编码后,文本被一些特定的字符替换了。例如,空格符被加号(+)代替。因此如果你在第一个文本框中输入This is textbox1,而在第二个文本框中输入This is textbox2,则下列的文本将会被送去处理:

text1=This+is+textbox1&text2=This+is+textbox2

当你从第15章中学会怎样开发ASP脚本后,你将会学习怎样处理编码后的窗体信息。