第十章表单的设计
表单在Web网页中用来给访问者填写信息,从而能采集客户端信息,使网页具有交互的功能。一般是将表单设计在一个Html文档中,当用户填写完信息后做提交(submit)操作,于是表单的内容就从客户端的浏览器传送到服务器上,经过服务器上的 ASP 或 CGI 等处理程序处理后,再将用户所需信息传送回客户端的浏览器上,这样网页就具有了交互性。这里我们只讲怎样使用Html标志来设计表单。
表单是由窗体和控件组成的,一个表单一般应该包含用户填写信息的输入框,提交和按钮等,这些输入框,按钮叫做控件,表单很像容器,它能够容纳各种各样的控件。
一个表单用<form></form>标志来创建。也即定义表单的开始和结束位置,在开始和结束标志之间的一切定义都属于表单的内容。<form>标志具有action、method和target属性。action的值是处理程序的程序名(包括 网络路径:网址或相对路径),如:<form action="用来接收表单信息的url">,如果这个属性是空值("")则当前文档的url将被使用.当用户提交表单时,服务器将执行网址里面的程序(一般是CGI程序)。method属性用来定义处理程序从表单中获得信息的方式,可取值为 GET 和 POST 的其中一个。GET方式是处理程序从当前Html文档中获取数据,然而这种方式传送的数据量是有所限制的,一般限制在1KB(255个字节)以下。POST方式傳送的數據比較大,它是当前的Html文档把数据传送给处理程序,传送的数据量要比使用GET方式的大的多。target属性用来指定目标窗口或目标帧。可选当前窗口_self,父级窗口_parent,顶层窗口_top,空白窗口_blank。
表单标签的格式: <FORM action="url" method=get|post name="myform" target="_blank">... </FORM>
在html语言中,标记<input>具有重要的地位,它能够将浏览器中的控件加载到html文档中,该标记是单个标记,没有结束标记。<input type="">标志用来定义一个用户输入区,用户可在其中输入信息。此标志必须放在 <form></form>标志对之间。<input type="">标志中共提供了九种类型的输入区域,具体是哪一种类型由type属性来决定。请看下边列表:
type属性值定义
type属性取值 |
输入区域类型 |
控件的属性及说明 |
<input type="TEXT" size="" maxlength=""> | 单行的文本输入区域,size与maxlength属性用来定义此种输入区域显示的尺寸大小与输入的最大字符数 | (1)name 定义控件名称 (2)value 指定控件初始值,该值就是浏览器被打开时在文本框中的内容 (3)size 指定控件宽度,表示该文本输入框所能显示的最大字符数。 (4)maxlength 表示该文本输入框允许用户输入的最大字符数。 (5)onchang 当文本改变时要执行的函数 (6)onselect 当控件被选中时要执行的函数 (7)onfocus 当文本接受焦点时要执行的函数 |
<input type="button"> |
普通按钮,当这个按钮被点击时,就会调用属性onclick指定的函数;在使用这个按钮时,一般配合使用value指定在它上面显示的文字,用onclick指定一个函数,一般为JavaScript的一个事件。 | 这三个按钮有下面共同的属性: (1)name 指定按钮名称 (2)value 指定按钮表面显示的文字 (3)onclick 指定单击按钮后要调用的函数 (4)onfocus 指定按钮接受焦点时要调用的函数 |
<input type="SUBMIT"> | 提交到服务器的按钮,当这个按钮被点击时,就会连接到表单form属性action指定的url地址。 | |
<input type="RESET"> | 重置按钮,单击该按钮可将表单内容全部清除,重新输入数据。 | |
<input type="CHECKBOX" checked> | 一个复选框,checked属性用来设置该复选框缺省时是否被选中,右边示例中使用了三个复选框 | checkbox用于多选,有以下属性: (1) name 定义控件名称 (2) value 定义控件的值 (3) checked 设定控件初始状态是被选中的 (4) onclick 定义控件被选中时要执行的函数 (5) onfocus 定义控件为焦点时要执行的函数 |
<input type="HIDDEN"> | 隐藏区域,用户不能在其中输入,用来预设某些要传送的信息 | hidden 隐藏控件,用于传递数据,对用户来说是不可见的;属性有: (1)name 控件名称, (2)value 控件默认值 (3)hidden隐藏控件的默认值会随表单一起发送给服务器,例如: <input type="Hidden" name="ss" value="688"> 控件的名称设置为ss,设置其数据为"688",当表单发送给服务器后,服务器就可以根据hidden的名称ss,读取value的值688; |
<input type="IMAGE" src="URL"> | 使用图像来代替Submit按钮,图像的源文件名由src属性指定,用户点击后,表单中的信息和点击位置的X、Y坐标一起传送给服务器 | (1)name 指定图像按钮名称 (2)src 指定图像的url地址 |
<input type="PASSWARD"> | 输入密码的区域,当用户输入密码时,区域内将会显示"*"号 | password 口令控件 表示该输入项的输入信息是密码,在文本输入框中显示"*",属性有: (1)name 定义控件名称 (2)value 指定控件初始值,该值就是浏览器被打开时在文本框中的内容 (3)size 指定控件宽度,表示该文本输入框所能显示的最大字符数。 (4)maxlegnth 表示该文本输入框允许用户输入的最大字符数。 |
<input type="RADIO"> | 单选按钮类型,checked属性用来设置该单选框缺省时是否被选中,右边示例中使用了三个单选框 | radio用于单选,有以下属性: 当为单选项时,所有按钮的name属性必需相同,如:都设置为my_radio。 |
以上类型的输入区域有一个公共的属性name,此属性给每一个输入区域一个名字。这个名字与输入区域是一一对应的,即一个输入区域对应一个名字。服务器就是通过调用某一输入区域的名字的value值来获得该区域的数据的。而value属性是另一个公共属性,它可用来指定输入区域的缺省值。
应用格式
<input 属性1 属性2......>
常用属性:
1 name 控件名称
2 type控件类型 如:botton 普通按钮,texe 文本框等
3 align 指定对齐方式,可取top, bottom, middl
4 size 指定控件的宽度
5 value 用于设定输入默认值
6 maxlength在单行文本的时候允许输入的最大字符数
7 src 插入图像的地址
8 event 指定激发的事件
实例:10-2.html
<html>
<head>
<title><input>的控件</title>
</head>
<body>
<center>
<h2><font color="#339933"><input>控件的使用</font></h2></center>
<pre>
<form action="" method="post" target="_parent">
单行的文本输入区域: <INPUT name=T1 type=text>
普通按钮: <INPUT name=B1 type=button value=button>
提交按钮: <INPUT name=B1 type=submit value=Submit>
重置按钮: <INPUT name=B1 type=reset value=Reset>
复选框: 你喜欢哪些教程:<INPUT name=C1 type=checkbox value=ON> Html入门 <INPUT CHECKED name=C2 type=checkbox value=ON> 动态Html <INPUT name=C3 type=checkbox value=ON> ASP
图像来代替Submit按钮: <INPUT border=0 name=I2 height=20 src="http://www.cnblogs.com/imge/nnn.gif" type=image width=65>
密码的区域: <INPUT name=p1
type=password> </P>
单选按钮: 你的休闲爱好是什么:<INPUT CHECKED name=R1 type=radio value=V1> 音乐 <INPUT name=R1 type=radio value=V2> 体育 <INPUT name=R1 type=radio value=V3> 旅游
</form>
</pre>
<a href="#" onClick="javascript:window.history.back()"><FONT size=4>返回</FONT></A></SUB>
</PRE>
</body>
</html>
10-3 菜单下拉列表框<select></select><option>
<select></select>标志对用来创建一个菜单下拉列表框。此标志对用于<form></form>标志对之间。<select>具有multiple、name和size属性。multiple属性不用赋值,直接加入标志中即可使用,加入了此属性后列表框就成了可多选的了;name是此列表框的名字,它与上边讲的name属性作用是一样的;size属性用来设置列表的高度,缺省时值为1,若没有设置(加入)multiple属性,显示的将是一个弹出式的列表框。
<option>标志用来指定列表框中的一个选项,它放在<select></select>标志对之间。此标志具有selected和value属性,selected用来指定默认的选项,value属性用来给<option>指定的那一个选项赋值,这个值是要传送到服务器上的,服务器正是通过调用<select>区域的名字的value属性来获得该区域选中的数据项的。
实例:10-3-1.html
<html>
<head>
<title>下拉列表框</title>
</head>
<body>
<form action="" method="post">
<p>请选择最喜欢的男歌星:
<select name="gx1" size="1">
<option value="ldh">刘德华
<option value="zhxy" selected>张学友
<option value="gfch">郭富城
<option value="lm">黎明
</select>
</form>
</body>
</html>
实例:10-3-2.html
<html>
<head>
<title>复选的列表框</title>
</head>
<body>
<form action="" method="post">
<p>请选择最喜欢的女歌星:
<select name="gx2" multiple size="4">
<option value="zhmy">张曼玉
<option value="wf" selected>王菲
<option value="tzh">田震
<option value="ny">那英
</select>
</form>
</body>
</html>
10-4 多行的文本框.<textarea></textarea>
<textarea></textarea>用来创建一个可以输入多行的文本框,此标志对用于<form></form>标志对之间。<textarea>具有以下属性:
(1)onchange指定控件改变时要调用的函数
(2)onfocus当控件接受焦点时要执行的函数
(3)onblur当控件失去焦点时要执行的函数
(4)onselect当控件内容被选中时要执行的函数
(5)name这文字区块的名称,作识别之用,将会传及 CGI。
(6)cols这文字区块的宽度。
(7)rows这文字区块的列数,即其高度。
(8)wrap属性 定义输入内容大于文本域时显示的方式,可选值如下:
*默认值是文本自动换行;当输入内容超过文本域的右边界时会自动转到下一行,而数据在被提交处理时自动换行的地方不会有换行符出现;
*Off,用来避免文本换行,当输入的内容超过文本域右边界时,文本将向左滚动;
*Virtual,允许文本自动换行。当输入内容超过文本域的右边界时会自动转到下一行,而数据在被提交处理时自动换行的地方不会有换行符出现;
*Physical,让文本换行,当数据被提交处理时换行符也将被一起提交处理。
这里列与行是以字符数为单位的。
实例:10-4.html
<html>
<head>
<title>多行的文本框</title>
</head>
<body>
<form action="" method="post">
<p>您的意见对我很重要:
<textarea name="yj" clos="20" rows="5">
请将意见输入此区域
</textarea>
</form>
</body>
</html>