HTML 5

第三階段:前端

  AJAX - 8 —— 綜合且容易出錯面試

  HTML5新特性 - 7  —— 零散神不聚正則表達式

  Bootstrap - 5 —— 玩命兒被單詞瀏覽器

 

今日目標:ui

(1)WebStorm的使用 —— 掌握url

(2)H5新特性之一——表單2.0 —— 掌握spa

 

 

1.經常使用的前端開發軟件操作系統

  (1)小型軟件:小巧啓動快,功能簡單插件

       Editplus、Notepad++、VIM、Emacsorm

  (2)中型軟件:

       SublimeText

  (3)中型軟件:體積大啓動慢,功能強大

       Eclipse-Aptana、IntejIEDA-WebStorm、Dreamweaver

      

      

  經常使用的Eclipse快捷鍵:             

  (1)Ctrl+Alt+↓      複製當前行

  (2)Alt+↑/↓           向上/下移動當前行

  (3)Ctrl+D            刪除當前行

  (4)Ctrl+/             註釋/取消註釋當前行

  (5)Ctrl+Alt+L      格式化當前文件

  (6)Alt+鼠標左鍵   進入多行編輯模式,ESC或左鍵退出

 

2.HTML5新特性 —— 十大新特性

  (1)新的語義標籤和屬性

  (2)表單新特性

  (3)視頻和音頻

  (4)Canvas繪圖

  (5)SVG繪圖

  (6)地理定位

  (7)拖放API

  (8)WebWorker

  (9)WebStorage

  (10)WebSocket

 

面試題:

  HTML5新增了哪些標籤?廢棄了哪些標籤?

  HTML5新增了哪些標籤屬性?廢棄了哪些標籤屬性?

 

3.HTML5表單新特性

  (1)新的input type

  (2)新的表單標籤

  (3)表單標籤的新屬性

 

4. HTML5表單新特性之——新的input type —— 瞭解

  <input type="">

  HTML5以前已有的input type:

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

  HTML5新增長的input type:

  (1)email:郵件輸入域,在表單提交時提供簡單的郵箱格式驗證,並彈出一個提示窗口(可定製內容不能定製樣式)

       <input type="email">

  (2)url:URL地址輸入域,在表單提交時提供簡單的URL地址格式驗證,並彈出一個提示窗口(可定製內容不能定製樣式)

       <input type="url">                                  

  (3)number:數字輸入域,在表單提交時提供簡單的數字格式驗證,並彈出一個提示窗口(可定製內容不能定製樣式)

       <input type="number" min="" max="" step="">

  (4)tel:電話號碼輸入域,在手機瀏覽器中彈出數字輸入鍵盤

       <input type="tel">

  (5)search:搜索輸入域,在手機瀏覽器中右下角呈現搜索按鍵

       <input type="search">

  (6)range:範圍選擇控件,幫助用戶在必定範圍內選擇一個數字

       <input type="range" min="" max="" step="">

練習:實現一個調色板

 

  (7)color:顏色選擇控件,瀏覽器並未本身實現顏色選擇框,而是使用操做系統自帶的顏色選擇控件

       <input type="color">

  (8)date:日期選擇控件,FF沒有實現,推薦使用第三方插件代替,如jQueryUI-datepicker、laydate等

       <input type="date">

  (9)month:月份選擇控件,FF沒有實現

       <input type="month">

  (10)week:星期選擇控件,FF沒有實現

       <input type="week">

 

 

5.HTML5新特性之表單新特性——新的表單元素

  HTML5以前FORM能夠有的標籤——用於數據提交:

      INPUT、TEXTAREA、SELECT/OPTION、BUTTON

  HTML5新增表單元素——用於信息提示,不能用於數據提交

  (1)datalist:數據列表,配合option使用,自己爲不可見元素,爲普通的input提供輸入建議列表

       <datalist id="l"><option>XXX</option></datalist>

       <input type="text" list="l">

 

  (2)progress:進度條,未指定value屬性則顯示爲「進行中」樣式;若指定了value(默認在0~1之間)就能夠控制其顯示的進度

       <progress value="0.5"></progress>

  練習:使用定時器讓進度條不斷前進,到100%就要中止

 

  (3)meter:刻度尺/度量衡,用紅黃綠三色表示出一個數值所處的範圍:不可接受/能夠接受/最優範圍

       <meter min="最小可能值" max="最大的可能值" low="合理的下限" high="合理的上限" optimum="最優值" value="實際值"></meter>

 

  (4)       output:輸出,用於描述表單中的計算結果,語義標籤,樣式與SPAN無異。

       <output>xxx</output>

 

 

6.HTML5新特性表單新特性——表單元素新的屬性——重點

  HTML5以前表單元素可用的屬性:

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

  HTML5以前表單元素新增的屬性:

  (1)autocomplete:on/off,自動補全,是否自動記錄以前提交的數據,以用於下一次輸入建議

       <input autocomplete="off">

  (2)placeholder:站位符,用於在輸入框中顯示提示性文字,與value不一樣,不能被提交

       <input placeholder="提示性文字">

  (3)autofocus:false/true,自動得到輸入焦點

       <input autofocus>

  (4)multiple:false/true,是否容許多個輸入值,若聲明瞭該屬性,輸入框中(如email)就容許輸入用逗號分隔的多個值

       <input type="email" multiple>

  (5)form:爲一個元素指定form屬性,值爲某個表單的ID,則此輸入域能夠放到表單的外部

       <form id="f"></form>

       <input form="f">

  ========上述五個屬性是新的通用屬性===========

  =======上述六個屬性是輸入驗證相關屬性========

  (6)required:false/true,必需的/必填項,在表單提交時會驗證是否有輸入,沒有輸入則彈出提示消息

       <input required>

  (7)maxlength:最大長度,在有輸入的狀況下,限定輸入域中字符的個數

       <input maxlength="9">

  (8)minlength:最小長度,在有輸入的狀況下,限定輸入域中字符的個數,不是HTML5標準屬性,僅部分瀏覽器支持(如Chrome)

       <input minlength="6">

  (9)min:限定輸入的數字的最小值

       <input min="">

  (10)max:限定輸入的數字的最大值

       <input max="">

  (11)step:限定輸入的數字的步長,與min屬性連用

       <input step="">

  (12)pattern:指定一個正則表達式,對輸入進行驗證

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

       注意:上述正則表達式能夠省略^和$

 

 

7.總結:HTML5表單新特性:

(1)新的input type——10個

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

(2)新的表單元素——4個

  datalist、progress、meter、output

(3)表單元素的新屬性——12個

  autocomplete、autofocus、placeholder、multiple、form

  required、maxlength、minlength、min、max、step、pattern

 

注意:加粗的是當前項目中當即可用的!紅色的特性可能彈出錯誤消息。

 

 

8.如何定製表單2.0中的錯誤提示消息內容——難點&掌握

  HTML5爲每一個標籤對應的JS對象添加了新屬性,以標識用戶輸入的有效性:

  input.validity { 

       badInput:false,無效的輸入,如email輸入無效        

       typeMismatch:false,類型不匹配,如number中出現字符

       valueMissing:false,值缺失,如required驗證失敗

       tooLong:false,輸入的內容超過maxlength限制

       tooShort:false,輸入的內容不知足minlength限制

       rangeOverflow:false,輸入的數字超過max

       rangeUnderflow:false,輸入的數字不知足min

       stepMismatch:false,步長不匹配

       patternMismatch:false,正則表達式不匹配

       customError:false,是否存在自定義錯誤

       valid:true,輸入值是否有效

  }

  注意:

  (1)最後的validity.valid屬性,只有其它屬性都爲false(沒有任何錯誤),valid值爲true;不然只要任何一個其它屬性爲true(說明有某方面的錯誤),valild值爲false。

  (2)上述屬性的值會隨着輸入域中值的改變而當即改變,無需等到表單提交。

  (3)使用input.setCustomValidity('XXX')能夠生成一個自定義錯誤消息,使得validity.customError屬性變爲true;若執行input.setCustomValidity('')能夠刪除自定義錯誤消息,使得validity.customError屬性變爲false

  (4)自定義錯誤消息的優先級高於任何系統自帶的錯誤消息優先級。

 

 

課後練習:

在輸入域失去焦點時,使用其validity屬性的各個布爾類型的值,驗證用戶的輸入是否合法。下面的效果圖能夠放大。

相關文章
相關標籤/搜索