整理HTML5中表单的常用属性及新属性


Posted in HTML / CSS onFebruary 19, 2016

HTML5 新的表单属性
HTML5 的 <form> 和 <input>标签添加了几个新属性.
<form>新属性:
autocomplete
novalidate
<input>新属性:
autocomplete
autofocus
form
formaction
formenctype
formmethod
formnovalidate
formtarget
height and width
list
min and max
multiple
pattern (regexp)
placeholder
required
step

<form> / <input> autocomplete 属性
autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。
当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
提示: autocomplete 属性有可能在 form元素中是开启的,而在input元素中是关闭的。
注意: autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。
实例
HTML form 中开启 autocomplete (一个 input 字段关闭 autocomplete ):

XML/HTML Code复制内容到剪贴板
  1. <form action="demo-form.php" autocomplete="on">  
  2.   First name:<input type="text" name="fname"><br>  
  3.   Last name: <input type="text" name="lname"><br>  
  4.   E-mail: <input type="email" name="email" autocomplete="off"><br>  
  5.   <input type="submit">  
  6. </form>  

<form> novalidate 属性
novalidate 属性的一个boolean 属性.
novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
实例
无需验证提交的表单数据

XML/HTML Code复制内容到剪贴板
  1. <form action="demo-form.php" novalidate>  
  2.   E-mail: <input type="email" name="user_email">  
  3.   <input type="submit">  
  4. </form>  

<input> autofocus 属性
autofocus 属性是一个 boolean 属性.
autofocus 属性规定在页面加载时,域自动地获得焦点。
实例
让 "First name" input 输入域在页面载入时自动聚焦:

XML/HTML Code复制内容到剪贴板
  1. First name:<input type="text" name="fname" autofocus>  

<input> form 属性
form 属性规定输入域所属的一个或多个表单。
提示:如需引用一个以上的表单,请使用空格分隔的列表。
实例
位于form表单外的input 字段引用了 HTML form (该 input 表单仍然属于form表单的一部分):

<input> formaction 属性
The formaction 属性用于描述表单提交的URL地址.
The formaction 属性会覆盖<form> 元素中的action属性.
注意: The formaction 属性用于 type="submit" 和 type="image".
实例
以下HTMLform表单包含了两个不同地址的提交按钮:

XML/HTML Code复制内容到剪贴板
  1. <form action="demo-form.php">  
  2.   First name: <input type="text" name="fname"><br>  
  3.   Last name: <input type="text" name="lname"><br>  
  4.   <input type="submit" value="Submit"><br>  
  5.   <input type="submit" formaction="demo-admin.php"  
  6.   value="Submit as admin">  
  7. </form>  

<input> formenctype 属性
formenctype 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
formenctype 属性覆盖 form 元素的 enctype 属性。
主要: 该属性与 type="submit" 和 type="image" 配合使用。
实例
第一个提交按钮已默认编码发送表单数据,第二个提交按钮以 "multipart/form-data" 编码格式发送表单数据:

XML/HTML Code复制内容到剪贴板
  1. <form action="demo-post_enctype.php" method="post">  
  2.   First name: <input type="text" name="fname"><br>  
  3.   <input type="submit" value="Submit">  
  4.   <input type="submit" formenctype="multipart/form-data"  
  5.   value="Submit as Multipart/form-data">  
  6. </form>  

<input> formmethod 属性
formmethod 属性定义了表单提交的方式。
formmethod 属性覆盖了 <form> 元素的的method 属性。
注意: 该属性可以与 type="submit" 和 type="image" 配合使用。
实例
重新定义表单提交方式实例:

XML/HTML Code复制内容到剪贴板
  1. <form action="demo-form.php" method="get">  
  2.   First name: <input type="text" name="fname"><br>  
  3.   Last name: <input type="text" name="lname"><br>  
  4.   <input type="submit" value="Submit">  
  5.   <input type="submit" formmethod="post" formaction="demo-post.php"  
  6.   value="Submit using POST">  
  7. </form>  

<input> formnovalidate 属性
novalidate 属性是一个 boolean 属性.
novalidate属性描述了 <input> 元素在表单提交时无需被验证。
formnovalidate 属性会覆盖 <form> 元素的novalidate属性.
注意: formnovalidate 属性与type="submit一起使用
实例
两个提交按钮的表单(使用与不适用验证 ):

XML/HTML Code复制内容到剪贴板
  1. <form action="demo-form.php">  
  2.   E-mail: <input type="email" name="userid"><br>  
  3.   <input type="submit" value="Submit"><br>  
  4.   <input type="submit" formnovalidate value="Submit without validation">  
  5. </form>  

<input> formtarget 属性
formtarget 属性指定一个名称或一个关键字来指明表单提交数据接收后的展示。
The formtarget 属性覆盖 <form>元素的target属性.
注意: formtarget 属性与type="submit" 和 type="image"配合使用.
实例
两个提交按钮的表单, 在不同窗口中显示:

XML/HTML Code复制内容到剪贴板
  1. <form action="demo-form.php">  
  2.   First name: <input type="text" name="fname"><br>  
  3.   Last name: <input type="text" name="lname"><br>  
  4.   <input type="submit" value="Submit as normal">  
  5.   <input type="submit" formtarget="_blank"  
  6.   value="Submit to a new window">  
  7. </form>  

<input> height 和 width 属性
height 和 width 属性规定用于 image 类型的 <input> 标签的图像高度和宽度。
注意: height 和 width 属性只适用于 image 类型的<input> 标签。
提示:图像通常会同时指定高度和宽度属性。如果图像设置高度和宽度,图像所需的空间 在加载页时会被保留。如果没有这些属性, 浏览器不知道图像的大小,并不能预留 适当的空间。图片在加载过程中会使页面布局效果改变 (尽管图片已加载)。
实例
定义了一个图像提交按钮, 使用了 height 和 width 属性:

XML/HTML Code复制内容到剪贴板
  1. <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">  

<input> list 属性
list 属性规定输入域的 datalist。datalist 是输入域的选项列表。
OperaSafariChromeFirefoxInternet Explorer
实例
在 <datalist>中预定义 <input> 值:

XML/HTML Code复制内容到剪贴板
  1. <input list="browsers">  
  2.   
  3. <datalist id="browsers">  
  4.   <option value="Internet Explorer">  
  5.   <option value="Firefox">  
  6.   <option value="Chrome">  
  7.   <option value="Opera">  
  8.   <option value="Safari">  
  9. </datalist>  

<input> min 和 max 属性
min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)。
注意: min、max 和 step 属性适用于以下类型的 <input> 标签:date pickers、number 以及 range。
实例

XML/HTML Code复制内容到剪贴板
  1. <input> 元素最小值与最大值设置:   
  2. Enter a date before 1980-01-01:   
  3. <input type="date" name="bday" max="1979-12-31">  
  4.   
  5. Enter a date after 2000-01-01:   
  6. <input type="date" name="bday" min="2000-01-02">  
  7.   
  8. Quantity (between 1 and 5):   
  9. <input type="number" name="quantity" min="1" max="5">  

<input> multiple 属性
multiple 属性是一个 boolean 属性.
multiple 属性规定<input> 元素中可选择多个值。
注意: multiple 属性适用于以下类型的 <input> 标签:email 和 file。: email, and file.
实例
上传多个文件:

XML/HTML Code复制内容到剪贴板
  1. Select images: <input type="file" name="img" multiple>  

<input> pattern 属性
pattern 属性描述了一个正则表达式用于验证 <input> 元素的值。
注意:pattern 属性适用于以下类型的 <input> 标签: text, search, url, tel, email, 和 password.
提示: 是用来全局 title 属性描述了模式.
实例
下面的例子显示了一个只能包含三个字母的文本域(不含数字及特殊字符):

XML/HTML Code复制内容到剪贴板
  1. Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">  

<input> placeholder 属性
placeholder 属性提供一种提示(hint),描述输入域所期待的值。
简短的提示在用户输入值前会显示在输入域上。
注意: placeholder 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。
实例
input 字段提示文本t:

XML/HTML Code复制内容到剪贴板
  1. <input type="text" name="fname" placeholder="First name">  

<input> required 属性
required 属性是一个 boolean 属性.
required 属性规定必须在提交之前填写输入域(不能为空)。
注意:required 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。
实例
不能为空的input字段:

XML/HTML Code复制内容到剪贴板
  1. Username: <input type="text" name="usrname" required>  

<input> 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:

XML/HTML Code复制内容到剪贴板
  1. <input type="number" name="points" step="3">  

<output> 元素
HTML5 还引入了一个新元素 <output>,用来表示不同类型的输出结果,比如输出由脚本所写。

还可以用 for 属性指定输出元素和文档中影响计算的其他元素之间的关系(比如,作为输入源或者参数)。for 属性的值是一个由空格分隔的其他元素的 IDs 列表。

placeholder 属性
HTML5 引入了一个叫做 palceholder 的新属性。这个属性在 <input> 和 <textarea> 元素上为用户提供了在这个字段可以输入什么的提示。占位符字符不能包含回车符或者换行符。
下面是 placeholder 属性的简单语法:

XML/HTML Code复制内容到剪贴板
  1. <input type="text" name="search" placeholder="search the web"/>  

这个属性只有最新版的 Mozilla,Safari 以及 Chrome 浏览器支持。

required 属性
现在,我们不需要使用 JavaScript 处理诸如空文本框永远不能被提交的这类客户端验证了,因为 HTML5 引入了一个叫做 required 的新属性,可以按照如下方式使用,它会保证输入框有值:

XML/HTML Code复制内容到剪贴板
  1. <input type="text" name="search" required/>  

这个属性只有最新版的 Mozilla,Safari 以及 Chrome 浏览器支持。

HTML / CSS 相关文章推荐
CSS3美化表单控件全集
Jun 29 HTML / CSS
CSS3 开发工具收集
Apr 17 HTML / CSS
基于CSS3特效之动画:animation的应用
May 09 HTML / CSS
css3的过滤效果简单实例
Aug 03 HTML / CSS
利用css3径向渐变做一张优惠券的示例
Mar 22 HTML / CSS
html5仿支付宝密码框的实现代码
Sep 06 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
Mar 31 HTML / CSS
HTML5单页面手势滑屏切换原理分析
Jul 10 HTML / CSS
Html5 滚动穿透的方法
May 13 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
Jan 03 HTML / CSS
CSS精灵图的原理与使用方法介绍
Mar 17 HTML / CSS
浅谈基于HTML5的在线视频播放方案
Feb 18 #HTML / CSS
全面解析HTML5中的标准属性与自定义属性
Feb 18 #HTML / CSS
简单整理HTML5的基本特性和语法
Feb 18 #HTML / CSS
HTML5实现预览本地图片
Feb 17 #HTML / CSS
HTML5新特性之用SVG绘制微信logo
Feb 03 #HTML / CSS
HTML5未来发展趋势
Feb 01 #HTML / CSS
详解HTML5中的Communication API基本使用方法
Jan 29 #HTML / CSS
You might like
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
mysql时区问题
2008/03/26 PHP
php注销代码(session注销)
2012/05/31 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
python散点图实例之随机漫步
2018/08/27 Python
python实现多张图片拼接成大图
2019/01/15 Python
Python的Lambda函数用法详解
2019/09/03 Python
python获取array中指定元素的示例
2019/11/26 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
法制报告会主持词
2014/04/02 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
Java 关于String字符串原理上的问题
2022/04/07 Java/Android
Python自动化实战之接口请求的实现
2022/05/30 Python