学习笔记 第十章 使用CSS美化表单

第10章   使用CSS美化表单

【学习重点】

  • 正确使用各种表单控件
  • 熟悉HTML5新增的表单控件
  • 掌握表单属性的设置
  • 设计易用性表单页面

10.1  表单的基本结构

表单包含多个标签,由很多控件组成。一个完整的表单结构由下面三部分组成:

  • 表单框架(
    标签):标签是一个包含框,里面包含所有表单对象。
  • 表单域(等标签):用于将数据发送给服务器,还可以用来控制其它脚本行为。

所有表单元素都包含两个基本属性:

  • name:定义表单对象的名称;
  • id:定义表单对象的ID编码,以便JavaScript和CSS访问该对象。

name和id属性可以设置相同值。

标签包含很多属性,其中HTML5支持的属性说明如下:

HTML5中标签属性列表
属性 取值 说明
accept-charset charset_list 设置服务器可服务的表单数据字符集
action URL 设置当提交表单时向何处发送表单数据
autocomplete On/Off 设置是否启用表单的自动完成功能
enctype

application/x-www-form-urlencoded

multipart/form-data

text-plain

设置在发送表单数据之前如何对其进行编码
method get/post 设置在发送表单数据之前如何对其进行编码
name form_name 设置表单的名称
novalidate novalidate 如果使用该属性,则提交表单时不进行验证
target _blank、_self、_parent、_top、_framename 设置在何处打开actionURL

10.2  创建表单控件

10.2.1  输入型控件

标签可定义多种形式的输入框,基本应用方式如下:

" "/>

如果不设置type属性,默认显示为单行文本框。

HTML5中标签的属性说明如下:

HTML5中标签属性列表
属性 取值 说明
accept mime_type 设置通过文件上传来提交的文件的类型
alt text 定义图像输入的替代文本
autocomplete On/Off HTML5新增,设置是否使用输入字段的自动完成功能
autofocus autofocus HTML5新增,设置字段在页面加载时是否获得焦点
checked checked 设置此input元素首次加载时应当被选中
disabled disabled 当input元素加载时禁用此元素
form formname HTML5新增,设置输入字段所属的一个或多个表单
formaction URL 覆盖表单的action属性,适用于type="submit"和type="image"
formenctype

application/x-www-form-urlencoded

multipart/form-data

text/plain

HTML5新增,覆盖表单的enctype属性,适用于type="submit"和type="image"
formmethod

get

post

HTML5新增,覆盖表单的method属性,适用于type="submit"和type="image"
formnovalidate formnovalidate HTML5新增,覆盖表单的novalidate属性,使用该属性,则提交表单时不进行验证
formtarget _blank、_self、_parent、_top、framename HTML5新增,覆盖表单的target属性,适用于type="submit"和type="image"
height 像素、% HTML5新增,定义input字段的高度,适用于type="image"
list datalist-id HTML5新增,引用包含输入字段的预定义选项的datalist
max number、date HTML5新增,设置输入字段的最大值,与min属性配合使用,创建合法值的范围
maxlength number 设置输入字段中字符的最大长度
min number、date HTML5新增,设置输入字段的最小值,与max属性配合使用,创建合法值的范围
multiple multiple HTML5新增,如果使用该属性,则允许一个以上的值
name field_name 定义input元素的名称
pattern regexp_pattern HTML5新增,设置输入字段的值的模式或格式
placeholder text HTML5新增,设置帮助用户填写输入字段的提示
readonly readonly 设置输入字段为只读
required required HTML新增,指示输入字段的值是必需的
size number_of_char 定义输入字段的宽度
src URL 定义以提交按钮形式显示的图像的URL
step number HTML5新增,设置输入字的合法数字间隔
type button、checkbox、file、hidden、image、password、radio、reset、submit、text 设置input元素的类型
value value 设置input元素的值
width 像素、% HTML5新增,定义input字段的宽度,适用于type="image"

10.2.2 选择型控件

单选按钮()。多个单选按钮可以合并为一个单选按钮组,单选按钮组中的name值必须相同,单选按钮组同一时刻只能选择一个。

复选框()组可以允许多项选择,每个复选框都是一个独立的元素,且必须有一个唯一的名称(name)。

 1 <form>
 2       <p>姓名:<input type="text" value=" " />p>
 3       <p> 喜欢的运动:
 4             <label>
 5                    <input name="足球" type="checkbox" value="足球"/>label>
 6             <label>
 7                    <input name="排球" type="checkbox" value="排球"/>label>
 8             <label>
 9                    <input name="篮球" type="checkbox" value="篮球"/>label>
10             <label>
11                    <input name="羽毛球" type="checkbox" value="羽毛球"/>label>
12        p>
13        <p><input type="submit" value="提交"/>p>
14 form>
复选框

选取日、月、年 month 选取月、年 week 选取周和年 time 选取时间(小时和分钟) datetime 选取时间、日、月、年(UTC时间) datetime-local 选取时间、日、月、年(本地时间)

10.3.6 search类型

search类型的input元素提供用于输入搜索关键词的文本框。

10.3.7 tel类型

tel类型的input元素提供专门用于输入电话号码的文本框,不限定只输入数字。

10.3.8 color类型

color类型的input元素提供专门用于输入颜色的文本框。当color类型文本框获取焦点后,会自动调用系统的颜色窗口。IE和Safari浏览器暂时不支持。

10.4  HTML5新增输入属性

10.4.1 autocomplete属性

autocomplete属性可以帮助用户在input类型的输入框中实现自动完成内容输入。

autocomplete属性有两个值:on、off。

当autocomplete属性值设置为“on”时,可以使用HTML5中新增加的datalist标签和list属性提供一个数据列表供用户选择。

10.4.2 autofocus属性

HTML5新增了autofocus属性,它可以实现在页面加载时,某表单控件自动获得焦点。

10.4.3 form属性

可以把表单内的从属元素写在页面中的任一位置,只需要为这个元素指定一下form属性并为其指定属性值为该表单的id。

10.4.4 表单重写属性

HTML5新增了多个表单重写属性,用于重写form元素的某些属性设定,包括:

  • formaction:用于重写表单的action属性。
  • formenctype:用于重写表单的enctype属性。
  • formmethod:用于重写表单的method属性。
  • formnovalidate:用于重写表单的novalidate属性。
  • formtarget:用于重写表单的target属性。

表单重写属性并不适用于所有的input输入类型,仅适用于submit和image输入类型。

10.4.5 height和width属性

height和width属性用于设置image类型的标签的图像高度和宽度,这两个属性只适用于image类型的标签。

<form action="testform.asp" method="get">
请输入用户名:<input type="text" name="user_name"/><br/>
<input type="image" src="images/1.png" width="72" height="26"/>
form>

如以上代码所示,image类型的input标签被限制为72X26像素。

10.4.6 list属性

HTML5中新增了一个datalist元素,可以实现数据列表的下拉效果,其外观类似autocomplete,用户可以从列表中选择,也可以自行输入。

目前支持这一属性的浏览器只有Opera。

 1 <form action="testform.asp" method="get ">
 2     请输入网址:
 3     <input type="url" list="url_list" name="weblink"/>
 4     <datalist id="url_list">
 5         <option label="新浪" value="http://www.sina.com.cn" />
 6         <option label="搜狐" value="http://www.sohu.com" />
 7         <option label="网易" value="http://www.163.com"/>
 8     datalist>
 9     <input type="submit" value="提交"/>
10 form>
list属性示例代码

10.4.7 min、max和step属性

HTML5新增了min、max和step属性,用于为包含数字或日期的input输入类型设置限值。

10.4.8 multiple属性

在HTML5之前,input输入类型中file类型支持选择单个文件来上传,而HTML5新增的multiple属性支持一次性选择多个文件。

10.4.9 pattern属性

pattern属性用于验证input类型输入框中用户输入的内容是否与自定义的正则表达式相匹配。

该属性适用于以下类型的标签:text、search、URL、telephone、email、password。

pattern属性允许用户自定义一个正则表达式,pattern属性中的正则表达式语法与JavaScript中的语法相匹配。

<form action="testform.asp" method="get ">
    请输入邮政编码:
    <input type="text" name="zip_code" pattern="[0-9]{6}" title="请输入6位数的邮政编码"/>
    <input type="submit" value="提交"/>
form>

10.4.10 placeholder属性

placeholder属性用于为input类型的输入框提供一种提示(hint),这些提示可以描述输入框期待用户输入何种内容,在输入框为空时显式出现,当输入框获得焦点时消失。

<form action="testform.asp" method="get ">
    <input type="text" name="zip_code" pattern="[0-9]{6}" placeholder="请输入6位数的邮政编码"/>
    <input type="submit" value="提交"/>
form>

10.4.11 required属性

新增的required属性用于定义输入框填写的内容不能为空,否则不允许用户提交表单。示例:

<input type="text" name="user_name" required="required"/>

10.5  HTML5新增控件

10.5.1 datalist元素

datalist元素用于为输入框提供一个可选的列表。该列表由datalist中的option元素创建。用户也可以不从列表中选择,自行输入其它内容。

在实际应用中,如果要把列表绑定到某个输入框,则需要使用输入框的list属性来引用datalist元素的id。

每一个option元素都必须设置value属性。

10.5.2 keygen元素

keygen元素是秘钥相对生成器,能够使得用户验证更为可靠。用户提交表单时会生成两个键,一个私钥,一个公钥。私钥会被储存在客户端,公钥则会被发送到服务器。

<form action="testform.asp" method="get ">
    请输入用户名:
    <input type="text" name="user_name"/>
    <br/>
    请输入加密强度:
    <keygen name="security"/>
    <br/>
    <input type="submit" value="提交"/>
form>

10.5.3 output元素

output元素用于在浏览器中显示计算结果或脚本输出,包含完整的开始和结束标签,语法如下:

<output name="">Textoutput>

10.6 HTML5表单属性

HTML5新增了2个form属性,分别是autocomplete和novalidate。

10.6.1 autocomplete属性

当autocomplete属性用于整个form时,所有从属于该form的元素便都具备自动完成功能。

如果要使个边元素关闭自动完成功能,则单独为该元素指定“autocomplete="off"”即可。

10.6.2 novalidate属性

form元素的novalidate属性用于在提交表单时取消整个表单的验证,即关闭对表单内所有元素的有效性检查。

10.6.3 显式验证

除了为input元素新增属性,来对输入内容进行自动验证外,HTML5为form、input、select和textarea元素都定义了一个checkValidity()方法。调用该方法,可以显式地对表单内所有元素内容或单个元素内容进行有效性验证。checkValidity()方法将返回布尔值。

转载于:https://www.cnblogs.com/ailinzhijia/p/7966288.html

你可能感兴趣的:(学习笔记 第十章 使用CSS美化表单)