窗体按钮
在HTML窗体中典型使用的按钮有三种,我们已经介绍了第一种按钮――Submit按钮。当你点击Submit按钮时,窗体由<FORM>的ACTION属性所指定的程序进行处理,Submit按钮的用法如下所示:
<INPUT TYPE=SUBMIT VALUE=“Do it!”>
VALUE属性的值决定了在按钮上显示的文字。
图形按钮与Submit按钮的效果几乎是一样的,然而这种类型的按钮显示出来是一幅图象,而不是一个难看的灰色矩形框(见图6.4)。下面的例子说明了怎样使用图形按钮:
<HTML>
<HEAD>
<TITLE> Simple Form </TITLE>
</HEAD>
<BODY >
<FORM ACTION=“somedirectory/mypage.asp” METHOD=“POST”>
<INPUT NAME=“textbox1”>
<INPUT NAME=“textbox2”>
<BR><INPUT TYPE=IMAGE SRC=“myimage.gif” BORDER=0>
</FORM>
</BODY>
</HTML>
图6.4 图象按钮
和把图象当作超链接时的情况一样,你应当把BORDER属性的值设为零来隐藏在诸如Netscape Navigator这样的浏览器上显示时会出现在图象周围的黑框。在某些情况下,这个附加的图象框会令人分心。你也可以在图象按钮中使用<IMG>标识符的在窗体中使用其它HTML标识符
正如你在文件主体中使用HTML标识符一样,你也可以在<FORM>标识符中使用几乎所有的HTML标识符。这个特性对于为你的窗体元素建立标签是很有用的。例如,如果你有一些文本框,你可能要为它们建立一些标签,如下所示:
<HTML>
<HEAD>
<TITLE> Simple Form </TITLE>
</HEAD>
<BODY >
<FORM ACTION=“somedirectory/mypage.asp” METHOD=“POST”>
<BR><B>First Name:</B> <INPUT NAME=“firstname”>
<BR><B>Last Name:</B> <INPUT NAME=“lastname”>
<INPUT TYPE=SUBMIT VALUE=”Submit Me!”>
</FORM>
</BODY>
</HTML>
在此例中,名为firstname的文本框的左边有标签文字(黑体):First Name,而名为lastname的文本框也是这样(见图6.2)。如果你需要,你也可以将特性放置于文本框的旁边。通过使用图象,你可以为你的窗体元素加上一些有趣的标签。
然而,用HTML标识符你无法改变显示在窗体元素上的文字。例如,你用HTML无法让Submit按钮上的文字Submit Me!以黑体显示。而且,你无法控制在文本框中输入的文本的外观,这是现在HTML的一个弱点。你的窗体总是显示灰色按钮及黑色文字(除非你使用图象,这将在下一节介绍)。
注意
虽然你不能用标准HTML来控制窗体元素中文字的外观,但你可以在Netscape Navigator 4.0和Inte.net Explorer 4.0中使用cascading style sheet来做到这一点。可参阅下一章来学习怎样使用cascading style sheet。
图6.2 使用标签的HTML窗体
你可以在HTML文件主体的任何部位放置<FORM>标识符,而且――你会发现这很有用――你可以在同一个HTML文件中包含多个窗体。这对于激活不同的Active Server Page脚本来处理不同的窗体信息是很有用的。要确保你的窗体不互相覆盖,并且不能互相包含。例如,下面的HTML代码是非法的:
<HTML>
<HEAD>
<TITLE> Bad Form </TITLE>
</HEAD>
<BODY >
<FORM ACTION=“somedirectory/mypage.asp” METHOD=“POST”>
<INPUT NAME=“textbox1”>
<INPUT NAME=“textbox2”>
<BR><INPUT TYPE=SUBMIT VALUE=”Submit Me!”>
<FORM ACTION=“someotherdirectory/myotherpage.asp” METHOD=“POST”>
<INPUT NAME=“anothertextbox1”>
<INPUT NAME=“anothertextbox2”>
<BR><INPUT TYPE=SUBMIT VALUE=”Submit Me Also!”>
</FORM>
</FORM>
</BODY>
</HTML>
这个HTML代码不能正常工作,因为一个<FORM>标识符嵌在另一个中。如果你发现一个窗体不如你所期望的那样正常工作,你就得好好检查一下,看是否你偶然地将<FORM>标识符交错了,或是忘记结束你的一个窗体。其它属性(见第5章“初级HTML”)。
注意
图象按钮的一个有趣现象是当点击它时,不但提交窗体信息,而且提交图象被点击点的坐标。例如,如果你在一个长宽各为5个象素的图象中央点击它,则在窗体信息之后就会传送点击点的坐标(3,3)。
图象按钮的这个特性对于将窗体功能组合成image map是很有用的(image map将在下一章讨论)。通常的image map不允许你交流窗体的内容。
最后一种按钮类型是reset按钮。当用户点击reset按钮后,所有的窗体内容都恢复到它们初始的值。例如,没有缺省值的文本框将被清空,而用VALUE属性指定了值的将回到初始的特定值。与Submit按钮的情况一样,你通过VALUE属性指定显示在reset按钮上的文字。如下面的例子所示:
<HTML>
<HEAD>
<TITLE> Simple Form </TITLE>
</HEAD>
<BODY >
<FORM ACTION=“somedirectory/mypage.asp” METHOD=“POST”>
<INPUT NAME=“textbox1”>
<INPUT NAME=“textbox2” VALUE=“mydefault”>
<BR><INPUT TYPE=SUBMIT VALUE=“Submit Me!”>
<BR><INPUT TYPE=RESET VALUE=“Clear Me!”>
</FORM>
</BODY>
</HTML>
在此例中,窗体用户点击标有Clear Me!的按钮后,所有窗体值都被清除并回到初始状态的值。在一个特定窗体中使用这三种按钮没有什么限制,这将很方便,特别是对于Submit按钮。有时在一个网页中有必要包含好几个Submit按钮,以使用户在决定怎样使用信息时就能发送窗体信息。
例如,假设你的网点有一页用于注册,而且需要让你的用户能够决定他们的注册信息是保持隐秘,还是公开出来。一个方法是,你可以再加入一个附加窗体让用户能选择,而最简单的方法是你建立两个Submit按钮,一个上面写着Register Private,而另一个上面写着Register Public。这后一种方法能让用户简单地通过点击两个按钮中的一个进行选择。
要使用多个按钮,你需要为按钮提供NAME属性,看下面这个简单的例子:
<HTML>
<HEAD>
<TITLE> Simple Form </TITLE>
</HEAD>
<BODY >
<FORM ACTION=“somedirectory/mypage.asp” METHOD=“POST”>
<BR><INPUT NAME=“Yes” TYPE=SUBMIT VALUE=“yes!”>
<BR><INPUT NAME=“No” TYPE=SUBMIT VALUE=“no!”>
</FORM>
</BODY>
</HTML>
在这里,点击yes!或是no!按钮都会激发同一个窗体行为,然而当窗体被处理时,用户的选择被获取了(用户的选择怎样被获取可参阅第10章“初级SQL”及第11章“中级SQL”)。
再次重申,本节你学会了HTML窗体中最常使用的三种类型的按钮:
Submit按钮,用于将窗体信息提交给服务器进行处理,或将信息通过E_Mail传送给一个地址。
图象按钮,与Submit按钮的作用相同,但用图象代替了文字。
Reset按钮,将所有窗体的值设置到初始状态的值。