网页设计与制作教程:Web前端开发(第6版)
上QQ阅读APP看书,第一时间看更新

2.4 表单

用户在注册、登录、搜索等时,网页中用于输入内容的文本框、单选框、复选框、下拉列表框、按钮等,可以用表单来实现。当访问者在表单中输入信息并单击提交按钮后,这些信息将被发送到服务器,服务器端脚本或应用程序将对这些信息进行处理。

2.4.1 表单元素form

网页上具有可输入表项及项目选择等控制所组成的栏目称为表单。﹤form﹥标签用于创建供用户输入的HTML表单。form元素是块级元素,其前后会产生折行。form元素的基本格式为:

﹤form﹥标签主要用于表单结果的处理和传送,常用属性如下。

1)action属性:规定当提交表单时向何处发送表单数据,是网址或E-mail地址。这个属性必须有。

2)method属性:规定用于发送表单数据时的发送类型,其属性值可以是get或post,具体是哪一个,取决于后台程序。这个属性必须有。

3)enctype属性:规定在发送表单数据之前如何对其进行编码。enctype属性有以下3个值。

● application/x-www-form-urlencoded:默认的编码方式,在发送前编码所有字符。

● multipart/form-data:被编码为一条二进制消息,网页上的每个控件对应消息中的一个部分,包括文件域指定的文件。在使用包含文件上传控件的表单时,必须使用这个值。

● text/plain:空格转换为加号(+),但不对特殊字符编码。

4)name属性:表单的名字,在一个网页中用于识别表单的唯一标识,与id属性值相同。

5)target属性:规定使用哪种方式打开目标URL,它的属性值可以是_blank、_self、_parent或_top中的一个,使用方法与a元素的target属性相同。

2.4.2 输入元素input

input元素用来定义用户输入数据的输入字段。根据不同的type属性值,输入字段可以是文本字段、密码字段、复选框、单选按钮、按钮、隐藏域、图像、文件等。input元素的基本格式为:

﹤input type="表项类型"name="元素名"size="x"maxlength="y"/﹥

input元素的常用属性如下。

1)type属性:指定要加入表单项目的类型,type属性值见表2-1。

表2-1 input元素的type属性值

11 输入元素input

(续)

2)name属性:定义input元素的名称。

3)size属性:定义该控件的宽度。

4)maxlength属性:规定输入字段中字符的最大长度。

5)checked属性:当页面加载时是否预先选择该input元素(适用于type="checkbox"或type="radio")。

6)readonly属性:规定输入字段为只读,字段的值无法修改。

7)autofocus属性:规定输入字段在页面加载时是否获得焦点(不适用于type="hidden")。

8)disabled属性:当页面加载时是否禁用该input元素(不适用于type="hidden")。

9)value属性:规定input元素的默认值。

【例2-13】 制作不同类型的表单按钮,本例文件2-13.html在浏览器中的显示效果如图2-13所示。

图2-13 不同类型的按钮

2.4.3 标签元素label

﹤label﹥标签用于为表单中的其他控件元素添加说明文字。当用户在浏览器中单击label元素生成的标签时,会自动将焦点转到与该标签相关的表单控件上。label元素的格式为:

﹤label for="id"﹥说明文字﹤/label﹥

﹤label﹥标签最重要的属性是for属性。for属性把label元素绑定到另外一个元素,把for属性的值设置为相关元素的id属性的值。使﹤label﹥标签与表单控件关联的方法有以下两种。

● 将﹤label﹥标签的for属性值,指定为关联表单控件的id。

● 把说明与表单控件一起放入﹤label﹥…﹤/label﹥标签内部。

【例2-14】 label元素的示例。本例文件2-14.html在浏览器中的显示效果如图2-14所示,单击“密码”标签,焦点将定位到其关联的文本框中。

图2-14 label元素的显示效果

2.4.4 选择栏元素select

select元素可用来创建菜单或者下拉列表框,实现单选或多选菜单。﹤select﹥标签必须配合﹤option﹥标签和﹤optgroup﹥标签使用,﹤option﹥标签定义列表中的可用选项;﹤optgroup﹥标签表示一个选项组,该元素中只能有option子元素。

select元素的属性如下。

1)size属性:指定下拉列表中同时显示选项的数目,默认值为1。

2)name属性:下拉列表的名称。

3)multiple属性:指定可选择多个选项,属性值只能是multiple。无此属性时则为单选。

2.option元素

option元素定义下拉列表中的一个选项。浏览器将﹤option﹥标签中的内容作为﹤select﹥标签的菜单或是滚动列表中的一个元素显示。option元素必须位于select元素内部。option元素的格式为:

﹤option value="选项值"selected="selected"﹥…﹤/option﹥

option元素的属性如下。

1)value属性:定义该列表项对应的送往服务器的参数。若省略,则初值为option中的内容。

2)selected属性:指定该选项的初始状态为选中,其属性值只能是selected。

3.optgroup元素

如果列表选项很多,可以使用﹤optgroup﹥标签对相关选项分组。optgroup元素的格式为:

ptgroup元素的属性如下。

1)label属性:为选项组指定说明文字,本属性必须设置。

2)disabled属性:设置该选项组是否可用,属性值是disabled。

【例2-15】制作问卷调查的下拉列表。本例文件2-15.html在浏览器中的显示效果如图2-15所示。

图2-15 页面的显示效果

2.4.5 按钮元素button

button元素定义一个按钮。﹤button﹥与﹤/button﹥标签之间的所有内容都是按钮的内容,其中包括任何可接收的内容,包括文本、图像或多媒体内容。这是该元素与input元素创建的按钮之间的不同之处。button元素与﹤input type="button"﹥相比,前者提供了更强大的功能和更丰富的内容。button元素的格式为:

﹤button type="按钮的类型"﹥文本、图像元素﹤/button﹥

button元素的属性如下。

1)type属性:指定按钮的类型,只能是button、reset或submit,与input元素的3种类型的按钮相对应。

2)autofocus属性:指定当页面加载时按钮自动地获得焦点。

3)disabled属性:指定禁用该按钮。

4)name属性:指定按钮的名称。

5)value属性:指定按钮的初始值,可由脚本进行修改。

【例2-16】按钮元素示例。本例文件2-16.html在浏览器中的显示效果如图2-16所示。

图2-16 按钮元素

2.4.6 多行文本元素textarea

textarea元素定义多行文本输入控件。该控件可以用来输入多个段落的文字,文本区中可容纳无限数量的文本。textarea元素的格式为:

textarea元素的属性如下。

1)cols属性:指定textarea文本区内的宽度。此属性必须设置。

2)rows属性:指定textarea文本区内的可见行数,即高度。此属性必须设置。

3)maxlength属性:指定文本区域的最大字符数。行数和列数是指不拖动滚动条就可看到的部分。

4)name元素:指定本标签的ID名称。

5)placeholder元素:指定描述文本区的简短提示。

6)readonly元素:指定文本区为只读。这个属性的属性值只能是readonly。

7)required元素:指定文本区是必填的。这个属性的属性值只能是required。

通过cols和rows属性来规定textarea的尺寸,不过更好的办法是使用CSS的height和width属性。

注释:在文本区内的文本行间,用“%OD%OA”(回车/换行)进行分隔。

【例2-17】多行文本元素示例。本例文件2-17.html在浏览器中的显示效果如图2-17所示。

图2-17 多行文本元素