HTML5 的 <form> 和 <input>标签添加了几个新属性.
form
新属性:
autocomplete | 属性规定 form 或 input 域应该拥有自动完成功能 |
---|---|
novalidate | 属性规定在提交表单时不应该验证 form 或 input 域, 值为boolean(布尔)值 |
input
新属性:
autocomplete | 属性规定input 域应该拥有自动完成功能 |
---|---|
autofocus | 属性规定在页面加载时,域自动地获得焦点,值为boolean(布尔)值 |
form | 属性规定输入域所属的一个或多个表单, 多个表单逗号隔开 |
formaction | 属性用于描述表单提交的URL地址,覆盖form元素的action属性, 只用于 type="submit" 和 type="image" |
formenctype | 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单), 覆盖form元素的enctype属性 只用于 type="submit" 和 type="image" |
formmethod | 属性定义了表单提交的方式 覆盖form元素的method属性 只用于 type="submit" 和 type="image" |
formnovalidate | 属性规定在提交表单时不应该验证 form 或 input 域, 值为boolean(布尔)值 覆盖form元素的novalidate属性 只用于 type="submit" 和 type="image" |
formtarget | 属性定义了表单提交目标窗口 覆盖form元素的target属性 只用于 type="submit" 和 type="image" |
height 与 width | 属性规定用于 image 类型的 <input> 标签的图像高度和宽度 只用于 type="image" |
list | 属性规定输入域的 datalist。datalist 是输入域的选项列表 |
min 与 max | 输入值范围限制 min、max 和 step 属性适用于以下类型的 <input> 标签: date pickers、number 以及 range |
multiple | 属性规定<input> 元素中可选择多个值 适用于type="email", type="file"元素 |
pattern (regexp) | 属性描述了一个正则表达式用于验证 <input> 元素的值 适用于以下类型的 <input> 标签: text, search, url, tel, email, 和 password. |
placeholder | 简短的提示在用户输入值前会显示在输入域上 |
required | 属性规定必须在提交之前填写输入域(不能为空) 适用于以下类型的 <input> 标签: text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。 |
step | 属性为输入域规定合法的数字步长 step 属性可以与 max 和 min 属性创建一个区域值 step 属性与以下type类型一起使用: number, range, date, datetime, datetime-local, month, time 和 week. |
autocomplete
autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。
当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
提示: autocomplete 属性有可能在 form元素中是开启的,而在input元素中是关闭的。
注意: autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。
HTML form 中开启 autocomplete (一个 input 字段关闭 autocomplete ):
<form action="" autocomplete="on" >
First name:<input type="text" name="first_name"><br>
Last name: <input type="text" name="last_name"><br>
E-mail: <input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>
提示:某些浏览器中,您可能需要启用自动完成功能,以使该属性生效。
novalidate
novalidate 属性是一个 boolean(布尔) 属性.
novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
无需验证提交的表单数据
<form action="" novalidate>
E-mail: <input type="email" name="user_email">
<input type="submit">
</form>
autofocus
autofocus 属性是一个 boolean 属性.
autofocus 属性规定在页面加载时,域自动地获得焦点。
让 "First name" input 输入域在页面载入时自动聚焦:
First name:<input type="text" name="first_name" autofocus>
form
form 属性规定输入域所属的一个或多个表单。
提示:如需引用一个以上的表单,请使用空格分隔的列表。
位于form表单外的 input 字段引用了 HTML form (该 input 表单仍然属于form表单的一部分):
<form action="" id="form1" method="get" target="_blank">
First name: <input type="text" name="first_name"><br>
<input type="submit" value="提交">
</form>
Last name: <input type="text" name="last_name" form="form1">
formaction
formaction 属性用于描述表单提交的URL地址.
formaction 属性会覆盖<form> 元素中的action属性.
注意: The formaction 属性用于 type="submit" 和 type="image".
以下HTMLform表单包含了两个不同地址的提交按钮:
<form action="./article/" target="_blank">
First name: <input type="text" name="first_name"><br>
Last name: <input type="text" name="last_name"><br>
<!-- 两个按钮提交的地址不同 -->
<input type="submit" value="提交到article"><br>
<input type="submit" formaction="./"
value="提交到当前地址">
</form>
formenctype
formenctype 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
formenctype 属性覆盖 form 元素的 enctype 属性。
主要: 该属性与 type="submit" 和 type="image" 配合使用。
第一个提交按钮已默认编码发送表单数据,第二个提交按钮以 "multipart/form-data" 编码格式发送表单数据:
<form action="" method="post" target="_blank">
First name: <input type="text" name="first_name"><br>
<hr>
文件: <input type="file" name="photo" />
<hr>
<input type="submit" value="提交">
<input type="submit" formenctype="multipart/form-data"
value="以 Multipart/form-data 提交">
</form>
formmethod
formmethod 属性定义了表单提交的方式。
formmethod 属性覆盖了 <form> 元素的 method 属性。
注意: 该属性可以与 type="submit" 和 type="image" 配合使用。
重新定义表单提交方式实例:
<form action="" method="get">
First name: <input type="text" name="first_name"><br>
Last name: <input type="text" name="last_name"><br>
<input type="submit" value="提交">
<input type="submit" formmethod="post" formaction="/"
value="使用 POST 提交">
</form>
formnovalidate
novalidate 属性是一个 boolean 属性.
novalidate属性描述了 <input> 元素在表单提交时无需被验证。
formnovalidate 属性会覆盖 <form> 元素的novalidate属性.
注意: formnovalidate 属性与type="submit一起使用
两个提交按钮的表单(使用与不适用验证 ):
<form action="">
E-mail: <input type="email" name="email"><br>
<input type="submit" value="提交"><br>
<input type="submit" formnovalidate value="不验证提交">
</form>
formtarget
formtarget 属性指定一个名称或一个关键字来指明表单提交数据接收后的展示。
The formtarget 属性覆盖 <form>元素的target属性.
注意: formtarget 属性与type="submit" 和 type="image"配合使用.
两个提交按钮的表单, 在不同窗口中显示:
<form action="">
First name: <input type="text" name="first_name"><br>
Last name: <input type="text" name="last_name"><br>
<input type="submit" value="正常提交">
<input type="submit" formtarget="_blank"
value="提交到一个新的页面上">
</form>
height 和 width
height 和 width 属性规定用于 image 类型的 <input> 标签的图像高度和宽度。
注意: height 和 width 属性只适用于 image 类型的<input> 标签。
提示:图像通常会同时指定高度和宽度属性。如果图像设置高度和宽度,图像所需的空间 在加载页时会被保留。如果没有这些属性, 浏览器不知道图像的大小,并不能预留 适当的空间。图片在加载过程中会使页面布局效果改变 (尽管图片已加载)。
定义了一个图像提交按钮, 使用了 height 和 width 属性:
<input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">
list
list 属性规定输入域的 datalist。datalist 是输入域的选项列表。
在 datalist中预定义 input 值:
<input list="browsers">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
min 和 max
min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)。
注意: min、max 和 step 属性适用于以下类型的 <input> 标签:date pickers、number 以及 range。
元素最小值与最大值设置:
Enter a date before 1980-01-01:<br>
<input type="date" name="bday" max="1979-12-31">
<hr />
Enter a date after 2000-01-01:<br>
<input type="date" name="bday" min="2000-01-02">
<hr />
Quantity (between 1 and 5):<br>
<input type="number" name="quantity" min="1" max="5">
multiple
multiple 属性是一个 boolean 属性.
multiple 属性规定<input> 元素中可选择多个值。
注意: multiple 属性适用于以下类型的 <input> 标签:email 和 file:
上传多个文件:
Select images: <input type="file" name="img" multiple>
pattern
pattern 属性描述了一个正则表达式用于验证 <input> 元素的值。
注意:pattern 属性适用于以下类型的 <input> 标签: text, search, url, tel, email, 和 password.
<form action="">
Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
<input type="submit">
</form>
<p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本,或 Safari 不支持 input 标签的 pattern 属性。</p>
placeholder
placeholder 属性提供一种提示(hint),描述输入域所期待的值。
简短的提示在用户输入值前会显示在输入域上。
注意: placeholder 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。
input 字段提示文本:
<input type="text" name="first_name" placeholder="First name">
required
required 属性是一个 boolean 属性.
required 属性规定必须在提交之前填写输入域(不能为空)。
注意:required 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。
username不能为空:
<form>
Username: <input type="text" name="user_name" required>
<input type="submit" value="正常提交">
</form>
step
step 属性为输入域规定合法的数字间隔。
如果 step="3",则合法的数是 -3,0,3,6 等
提示:step 属性可以与 max 和 min 属性创建一个区域值.
注意: step 属性与以下type类型一起使用: number, range, date, datetime, datetime-local, month, time 和 week.
规定input step步长为3:
<input type="number" name="points" step="3">
讨论区