大致可以分为10个方面:

  1. HTML5表单元素和属性
  2. 表单2.0
  3. 视音频处理
  4. canvas绘图
  5. SVG绘图
  6. 地理定位
  7. 拖放技术
  8. web work
  9. web storage
  10. web socket

一、新的input type

  HTML4已有的input type:

  text、password、radio、checkbox、hidden、file、submit、reset、button、image

   HTML5新增的input type:

  email:在表单提交时提供了格式验证功能,要求@左右各有一个字符即可,错误提示信息可以定制,但外观无法定制(是窗口)

      

   number:呈现一个数字输入框,在提交时会验证数字格式,使用min、max、step指定最小值、最大值、步长

  url:提供了URL验证输入框,只要满足字母+冒号即可

  tel:提供了电话号码输入框,在手机浏览器中会弹出数字模拟键盘

  search:显示一个搜索框,在手机浏览器中会在模拟键盘右下角显示“搜索”按钮

      

  range:显示为一个滑块组件(数值选择组件),使用min、max、step指定最小值、最大值、步长

      

  color:显示一个颜色选择器——浏览器使用操作系统自带的颜色选择框

      

   date:显示一个日期选择器

   month:显示一个月份选择器

  week:显示一个星期选择器

二、表单2.0 —— 四个新的表单元素

  HTML4提供的表单元素——与用户交互,实现输入/提交:

  input、select/option、textarea、button

  HTML5提供的新表单元素——仅用于数据展示,不能提交:

(1)datalist:数据列表

可用于为另一个输入框提供静态的输入建议,注意id和list的对应关系

 <form action="5.php">
     <datalist id="dishes">
       <option>京酱肉丝</option>
       <option>青椒肉丝</option>
       <option>青椒炒蛋</option>
       <option>鱼香肉丝</option>
       <option>番茄炒蛋</option>
     </datalist>

     午餐名:<input type="text" list="dishes" name="lunch"><br>

     <input type="submit">
   </form>

datalist

  效果如下:

    

(2)progress:进度条

用于显示某个过程的进度信息,若不指定value,则左右无限滚动;若指定了value,则固定为指定的值

<progress min="0" max="1" value="0.5"></progress>

     进度条:<progress></progress><br>
     进度条:<progress min="0" max="1" value="0.5"></progress><br>

progress

效果

(3)meter:刻度尺、度量衡

通过不同的颜色显示指定的数值在哪个范围“最优”-“合理”-“危险”范围:

最优值在上下限之间:黄-绿-黄

最优值在下限之下:绿-黄-红

最优值在上限之上:红-黄-绿

<meter min="0" max="100" low="30" high="70" optimum="50" value="60"></meter>

效果:

(4)output:输出

外观效果与普通的span一样。是语义标签,表示此处的内容是一个计算后的结果的输出。一般可以使用JS根据其它输入域值的改变修改output中的内容。

小计:<output>¥30.00</output>

  HTML4表单元素的属性:

  id、style、title、class、name、value、type、checked、selected、disabled

  HTML5中表单元素的新属性:

(1)placeholder:占位符

用于在输入框中显示提示性文字,与value没有任何关系!

(2)autofocus:自动获得输入焦点

指定当前元素获得输入焦点

(3)autocomplete:是否启用自动补全功能

<inputautocomplete="off">

(4)multiple:多个/多项

用于指定input type="file/email"可以有多个输入项,使用英文逗号分隔

<input type="email" multiple>

(5)form:表单

用于指定当前元素(放在表单外部)从属于哪个表单

<form id="f1"></form>

<input form="f1">

======================================

下面的是与输入验证相关属性 —— 难点

(6)required:必填

指定当前输入域内容不能为空

(7)minlength:最小长度

限定当前输入域中字符最少个数——不是H5标准属性

(8)maxlength:最大长度

限定当前输入域中字符最大个数

(9)min:最小值

限定当前数字输入域中数值最小值

(10)max:最大值

限定当前数字输入域中数值最大值

(11)pattern:(正则)样式

限定当前输入域中必须输入符合指定正则表达式的值

<input name="phone" pattern="1[3578]\d{9}">

总结:HTML5新特性 —— 表单新特性  

(1)新的input type —— 10—— 暂时谨慎使用

email、number、url、tel、search、range、color、date、month、week

 (2)新的表单元素 —— 4 —— 暂时不要用

datalist、progress、meter、output

 (3)表单元素的新属性 —— 11 —— 重点掌握

placeholder、autofocus、autocomplete、multiple、form、

required、minlength、maxlength、min、max、pattern

上述新特性中,哪些可能弹出错误提示消息——9个?

使用HTML5新特性如何自定义错误提示消息

HTML5为所有的表单元素添加了一个JS属性:input.validity(有效性): {

valid       :                    true //当前输入是否有效

badInput:                     false       //输入无效,如number框输入abc

patternMismatch:  false       //正则表达式验证失败

rangeOverflow:      false       //输入值超过max的限定

rangeUnderflow:    false       //输入值小于min的限定

tooLong :                     false       //输入的字符数超过maxlength

tooShort:              false       //输入的字符数小于minlength

stepMismatch:       false       //输入的数字不符合step限制

typeMismatch:       false       //输入值不符合email、url的验证

valueMissing:         false       //未输入值,违反了required要求

customError:         false       //是否存在自定义错误

}

上述属性值的特性:

(1)只要有一个验证方面错误,某个属性就为true,valid值为false

(2)只有没有任何验证错误,所有的属性都为false,valid才能为true

(3)上述的每个错误在浏览器内部都有一个预定义的错误提示消息

(4)所有的错误消息中,只要存在“自定义的错误消息”,浏览器只显示自定义的错误消息,优先级高于浏览器预定义的错误消息

(5)设置自定义错误消息的方法:

input.setCustomValidity('错误提示消息');

//input.validity.customError:true

取消自定义错误消息的方法:

input.setCustomValidity("");

//input.validity.customError:false

HTML5新增的一些属性和功能之一的更多相关文章

  1. HTML5新增的一些属性和功能之六——拖拽事件

    拖放事件的前提是分为源对象和目标对象,你鼠标拖着的是源对象,你要放置的位置是目标对象,区分这两个对象是因为HTML5的拖放事件对两者是不同的. 被拖动的源对象可以触发的事件: 1).ondragsta ...

  2. HTML5新增的一些属性和功能之八——web Worker

    Web Workers 为什么用web workers? 浏览器的原理中决定了页面打开只有一个主线程--UI渲染线程,如果线程中有耗时的程序(js)会阻塞线程,使得页面中其他的UI无法渲染,我们一般把 ...

  3. HTML5新增的form属性简介——张鑫旭

    一.引言 HTML5中新增了一个名为form的属性,是一个与处理表单相关的元素. 在HTML4或XHTML中,我们要提交一个表单,必须把相关的控件元素都放在<form>元素下.因为表单提交 ...

  4. HTML5新增标签与属性

    目录 一.HTML5新增属性 1.1.contextmenu 1.2.contentEditable 1.3.hidden 1.4.draggable 1.5.data-* 1.6.placehold ...

  5. HTML5新增的表单验证功能

    一.HTML5表单的特点: HTML5 表单增加了许多内置的控件和控件属性 XHTML 中需要放在 form 之中的诸如 input/button/select/textarea 等标签元素,在 HT ...

  6. html5新增及废除属性

    html5中,在新增加和废除很多元素的同时,也增加和废除了很多属性. 一.新增属性 1.表单属性 a.autofocus 对input[所有类型].select.textarea与button指定au ...

  7. HTML5新增input标签属性

    一. input type属性 <form action=""> 邮箱<input type="email" name="" ...

  8. 初学HTML5系列二:HTML5新增的事件属性

    Window事件属性: 属性 值 描述 onafterprint  script 文档打印之后运行的脚本. 属性发生于用户设置页面打印并且打印对话框已出现之后. onbeforeprint  scri ...

  9. 第十课html5 新增标签及属性 html5学习5

    一.常用新增标签 1.header:定义页面的页眉头部 2.nav:定义导航栏 3.footer:定义页面底部,页脚 4.article:定义文章 5.section:定义区域 6.aside:定义侧 ...

随机推荐

  1. 1.引入必要的文件 2.加载 UI 组件的方式 4.Parser 解析器

    //引入 jQuery 核心库,这里采用的是 2.0 <scripttype="text/javascript"src="easyui/jquery.min.js& ...

  2. css行高line-height的用法(转)

    本文导读: “行高“指一行文子的高度,具体来说是指两行文子间基线间的距离.在CSS,line-height被用来控制行与行之间的垂直距离.line- height 属性会影响行框的布局.在应用到一个块 ...

  3. Resharper

    http://baike.baidu.com/link?url=H8DVtrvKV1Cg-Hrz82C6ZiJOUXbi_3BfoROe-RlHhctPna4-BFfglPh2OsR-KmCqRZ7_ ...

  4. JS 函数参数

    1.简单的无参函数调用 function Test1(Func) { Func(); } function Test2() { alert("我要被作为函数参数啦!"); } // ...

  5. SignalR2.0开发实例之——设置时间、后台其他地方使用集线器、使用自己的连接ID

    一.连接的生命周期设置: 如下: // 该值表示连接在超时之前保持打开状态的时间长度. //默认为110秒 GlobalHost.Configuration.ConnectionTimeout = T ...

  6. java 后台线层也叫守护线层

    import java.util.concurrent.locks.*; class Do9 { public static void main(String[] args) { Ds d=new D ...

  7. CSS3 @font-face (webfont)

    先大概介绍下计算机领域常见的字体类型与格式. 点阵字体(Bitmap Font)点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示.这种文字显示方式于较早前的电脑系统(例如未有图形接口时的 D ...

  8. php 文件操作中几种方法整理

    1.获取文件夹下所有文件个数 echo ShuLiang("../0503lianxi"); function ShuLiang($filename) { if(is_dir($f ...

  9. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  10. 【Python】python 多线程两种实现方式

    目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更 ...