HTML5 的新的表单属性
本节讲解涉及 <form>和 <input> 元素的新属性。
新的 form 属性:
autocomplete
novalidate
新的 input 属性:
autocomplete
autofocus
form
form overrides(formaction, formenctype, formmethod, formnovalidate, formtarget)
height 和 width
list
min, max 和 step
multiple
pattern (regexp)
placeholder
required
浏览器支持
autocomplete 属性
autocomplete 属性规定form 或 input 域应该拥有自动完成功能。
注释:autocomplete 适用于<form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email,password, datepickers, range 以及 color。
当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项:
实例
<formaction="demo_form.asp" method="get"autocomplete="on">
First name:<input type="text" name="fname" /><br />
Last name: <inputtype="text" name="lname" /><br />
E-mail: <inputtype="email" name="email" autocomplete="off"/><br />
<inputtype="submit" />
</form>
注释:在某些浏览器中,您可能需要启用自动完成功能,以使该属性生效。
autofocus 属性
autofocus属性规定在页面加载时,域自动地获得焦点。
注释:autofocus 属性适用于所有<input> 标签的类型。
实例
User name: <inputtype="text" name="user_name" autofocus="autofocus" />
form 属性
form属性规定输入域所属的一个或多个表单。
注释:form 属性适用于所有<input> 标签的类型。
form 属性必须引用所属表单的 id:
实例
<formaction="demo_form.asp" method="get"id="user_form">
First name:<inputtype="text" name="fname" />
<inputtype="submit" />
</form>
Last name: <inputtype="text" name="lname" form="user_form" />
注释:如需引用一个以上的表单,请使用空格分隔的列表。
表单重写属性
表单重写属性(form overrideattributes)允许您重写 form 元素的某些属性设定。
表单重写属性有:
formaction - 重写表单的action 属性
formenctype - 重写表单的enctype 属性
formmethod - 重写表单的method 属性
formnovalidate -重写表单的 novalidate 属性
formtarget - 重写表单的target 属性
注释:表单重写属性适用于以下类型的<input> 标签:submit 和 image。
实例
<formaction="demo_form.asp" method="get"id="user_form">
E-mail: <inputtype="email" name="userid" /><br />
<inputtype="submit" value="Submit" />
<br />
<inputtype="submit" formaction="demo_admin.asp"value="Submit as admin" />
<br />
<inputtype="submit" formnovalidate="true" value="Submitwithout validation" />
<br />
</form>
注释:这些属性对于创建不同的提交按钮很有帮助。
height 和 width 属性
height 和 width属性规定用于 image 类型的 input 标签的图像高度和宽度。
注释:height 和 width属性只适用于 image 类型的 <input> 标签。
实例
<inputtype="image" src="img_submit.gif" width="99"height="99" />
list 属性
list 属性规定输入域的datalist。datalist 是输入域的选项列表。
注释:list 属性适用于以下类型的<input> 标签:text, search, url, telephone, email, date pickers, number,range 以及 color。
实例
min、max 和 step属性用于为包含数字或日期的 input 类型规定限定(约束)。
max 属性规定输入域所允许的最大值。
min 属性规定输入域所允许的最小值。
step属性为输入域规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等)。
注释:min、max 和 step属性适用于以下类型的 <input> 标签:date pickers、number 以及 range。
下面的例子显示一个数字域,该域接受介于0 到 10 之间的值,且步进为 3(即合法的值为 0、3、6 和 9):
实例
Points: <inputtype="number" name="points" min="0"max="10" step="3" />
multiple 属性
multiple属性规定输入域中可选择多个值。
注释:multiple属性适用于以下类型的 <input> 标签:email 和 file。
实例
Select images:<input type="file" name="img"multiple="multiple" />
novalidate 属性
novalidate属性规定在提交表单时不应该验证 form 或 input 域。
注释:novalidate 属性适用于<form> 以及以下类型的 <input> 标签:text, search, url, telephone, email,password, date pickers, range 以及 color.
实例
<formaction="demo_form.asp" method="get"novalidate="true">
E-mail: <inputtype="email" name="user_email" />
<inputtype="submit" />
</form>
pattern 属性
pattern 属性规定用于验证input 域的模式(pattern)。
模式(pattern)是正则表达式。您可以在我们的 JavaScript 教程中学习到有关正则表达式的内容。
注释:pattern属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。
下面的例子显示了一个只能包含三个字母的文本域(不含数字及特殊字符):
实例
Country code:<input type="text" name="country_code"
pattern="[A-z]{3}"title="Three letter country code" />
placeholder 属性
placeholder属性提供一种提示(hint),描述输入域所期待的值。
注释:placeholder属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。
提示(hint)会在输入域为空时显示出现,会在输入域获得焦点时消失:
实例
<inputtype="search" name="user_search" placeholder="Search W3CSchool"/>
required 属性
required属性规定必须在提交之前填写输入域(不能为空)。
注释:required属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, number, checkbox, radio 以及 file。
实例
Name: <inputtype="text" name="usr_name" required="required"/>