html5新表单属性有:autocomplete、novalidate、autofocus、form、formaction、formmethod、formnovalidate、formtarget、list、min、max、step等等。
本教程操作环境:windows7系统、HTML5版、Dell G3电脑。
HTML5 新的表单属性
HTML5 的 <form> 和 <input>标签添加了几个新属性.
<form>新属性:
-
autocomplete
-
novalidate
<input>新属性:
-
autocomplete:自动补全,是否自动记录之前提交的数据,以用于下一次输入建议。
-
autofocus:自动获得输入焦点。
-
form:值为某个表单的id,若设置,则该输入域可放在该表单外面。
-
formaction:用于描述表单提交的URL地址
-
formenctype:描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
-
formmethod:定义了表单提交的方式。
-
formnovalidate:描述了 <input> 元素在表单提交时无需被验证。
-
formtarget:指定一个名称或一个关键字来指明表单提交数据接收后的展示。
-
height 与 width:规定用于 image 类型的 <input> 标签的图像高度和宽度。
-
list:规定输入域的 datalist。datalist 是输入域的选项列表。
-
min 与 max:限定输入数字的最小值或最大值
-
multiple:是否允许多个输入值,若声明该属性,那么输入框中允许输入多个用逗号隔开的值。
-
pattern (regexp):指定一个正则表达式,对输入进行验证。(正则默认首尾加^$)
-
placeholder:占位符,用于在输入框中显示提示性文字,与value不同,不能被提交。
-
required:在表单提交时会验证是否有输入,没有则弹出提示消息。
-
step:限定输入数字的步长,与min连用。
-
maxlength:限制最大长度,只有在有输入的情况下才有用,不区分中英文。
-
minlength:限制最小长度,但它不是H5标准属性,仅部分浏览器支持。
<form> novalidate 属性
novalidate 属性是一个 boolean(布尔) 属性.
novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
示例:无需验证提交的表单数据
<form action="demo-form.php" novalidate> E-mail: <input type="email" name="user_email"> <input type="submit"></form>
<form> 或<input> autocomplete 属性
autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。
当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
提示: autocomplete 属性有可能在 form元素中是开启的,而在input元素中是关闭的。
注意: autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。
示例:form 中开启 autocomplete (一个 input 字段关闭 autocomplete ):
<form action="demo-form.php" autocomplete="on"> First name:<input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> E-mail: <input type="email" name="email" autocomplete="off"><br> <input type="submit"> </form>
提示:某些浏览器中,您可能需要启用自动完成功能,以使该属性生效。
<form> novalidate 属性
novalidate 属性是一个 boolean(布尔) 属性.
novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
示例:无需验证提交的表单数据
<form action="demo-form.php" novalidate> E-mail: <input type="email" name="user_email"> <input type="submit"> </form>
<input> formaction 属性
The formaction 属性用于描述表单提交的URL地址.
The formaction 属性会覆盖<form> 元素中的action属性.
注意: The formaction 属性用于 type="submit" 和 type="image".
示例:以下HTMLform表单包含了两个不同地址的提交按钮:
<form action="demo-form.php"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="提交"><br> <input type="submit" formaction="demo-admin.php" value="提交"> </form>
<input> formenctype 属性
formenctype 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
formenctype 属性覆盖 form 元素的 enctype 属性。
主要: 该属性与 type="submit" 和 type="image" 配合使用。
示例:
第一个提交按钮已默认编码发送表单数据,第二个提交按钮以 "multipart/form-data" 编码格式发送表单数据:
<form action="demo-post_enctype.php" method="post"> First name: <input type="text" name="fname"><br> <input type="submit" value="提交"> <input type="submit" formenctype="multipart/form-data" value="以 Multipart/form-data 提交"> </form>
<input> formmethod 属性
formmethod 属性定义了表单提交的方式。
formmethod 属性覆盖了 <form> 元素的 method 属性。
注意: 该属性可以与 type="submit" 和 type="image" 配合使用。
示例:重新定义表单提交方式实例:
<form action="demo-form.php" method="get"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="提交"> <input type="submit" formmethod="post" formaction="demo-post.php" value="使用 POST 提交"> </form>
<input> formnovalidate 属性
novalidate 属性是一个 boolean 属性.
novalidate属性描述了 <input> 元素在表单提交时无需被验证。
formnovalidate 属性会覆盖 <form> 元素的novalidate属性.
注意: formnovalidate 属性与type="submit一起使用
示例:
两个提交按钮的表单(使用与不适用验证 ):
<form action="demo-form.php"> E-mail: <input type="email" name="userid"><br> <input type="submit" value="提交"><br> <input type="submit" formnovalidate value="不验证提交"> </form>
【推荐课程:HTML5视频教程、web前端入门教程】