成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用HTML5構建下一代的Web Form

開發 前端
本文介紹使用HTML5構建下一代的Web Form,以及介紹HTML5的表單新特性和實例分析。

HTML語言作為如今編程最為廣泛的語言,具有易用、快捷、多瀏覽平臺兼容等特點,但是隨著時代的進步,HTML的標準卻停滯不前,這一次還在不斷開發中的HTML5標準的更新可以說給這門標記語言帶來了新的生命力。本文將著重討論HTML5中的Web Forms 2.0, 即表單的部分。

表單是網頁中常見的控件(集)。小到網站注冊登錄,大到一個企業的數據管理系統,都基本上有表單的身影。表單之所以如此重要,主要是因為它擔負大量的用戶和網頁后臺數據更新交互的任務。Web開發人員,對于網頁表單可以說又愛又恨,愛的是它方便的收集、組織數據的功能,恨的是它的功能很大程度上也就僅此而已。一些在最終網站用戶看起來稀松平常的功能,比如說輸入類型檢查、表單校驗、錯誤提示等等,開發人員無不需要花費大量精力利用 JavaScript和DOM編程來滿足這些天然所需的功能點,而隨著Ajax的流行,出現的一些JavaScript的工具庫,比如Dojo, YUI等都提供了方便的JavaScript Widget或者API來減輕開發人員的負擔。

HTML5的表單新特性

HTML5 Web Forms 2.0是對目前Web表單的全面提升,它在保持了簡便易用的特性的同時,增加了許多內置的控件或者控件屬性來滿足用戶的需求,并且同時減少了開發人員的編程。在我看來,HTML5 主要在以下幾個方面對目前的Web表單做了改進:

1.新的控件類型
◆還在為類型檢查犯愁嗎,還在為那一長串看不太明白的檢驗輸入的正則表達式而苦惱嗎,HTML5提供的一系列新的控件將天然的具備類型檢查的功能。比如說URL輸入框,Email輸入框等。

 

  1. <input type="url">input> 
  2. <input type="email">input> 

 

◆當然還有非常重要的日期輸入框,要知道使用JavaScript和CSS來“手工”制作一個日期輸入框還是非常花功夫的,類似Dojo,YUI這樣的類庫也無不在這個widget上面大做文章。

  1. <input type="date">input> 

 

◆作為我痛苦記憶的一部分,我經常記得我們開發人員要為一個select下拉別表動態的添加非常多的選項,這些選項大多數都是來自數據庫,比如說國家、省市列表等等。這個事情非常繁瑣。HTML5將支持data屬性,為select控件外聯數據源!

 

  1. <select data="http://domain/getmyoptions">select> 

 

2.改進的文件上傳控件,你可以使用一個控件上傳多個文件,自行規定上傳文件的類型(accept),你甚至可以設定每個文件最大的大小(maxlength)。你看出它和一般操作系統提供的文件上傳控件的區別了嗎,反正我覺得基本一致了。在HTML5應用中,文件上傳控件將變得非常強大和易用。

3.重復(repeat)的模型,HTML5提供一套重復機制來幫助我們構建一些重復輸入列表,其中包括一些諸如 add、remove、move-up,move-down的按鈕類型,通過這一套重復的機制,開發人員可以非常方便的實現我們經常看到的編輯列表,這是一個很常見的模式,我們可以增加一個條目、刪除某個條目、或者移動某個條目等等。

4.內建的表單校驗系統,HTML5為不同類型的輸入控件各自提供了新的屬性,來控制這些控件的輸入行為,比如我們常見的必填項required屬性,以及為數字類型控件提供的max、min等。而在你提交表單的時候,一旦校驗錯誤,瀏覽器將不執行提交操作,而會顯示相應的檢驗錯誤信息。

 

  1. <input type="text" required>input> 
  2. <input type="number" min=10  max=100>input> 

 

5.XML Submission,我們一般常見的是Web Form的編碼格式是application/x-www-form-urlencoded。開發人員都很清楚這種格式,數據送到服務器端,可以方便的存取。HTML5提供一種新的數據格式:XML Submission,即application/x-www-form+xml。簡單的舉例說,服務器端將直接接收到XML形式的表單數據。

 

  1. <submission> 
  2.     <field name="name" index="0">Peterfield> 
  3.     <field name="password" index="0">passwordfield> 
  4. submission> 

 

我將利用HTML5新的表單系統, 做一個簡單的用戶注冊的界面,包括用戶名,密碼,出生日期,保密問題等內容,代碼如下:

 

  1. > 
  2. <html> 
  3.     <head> 
  4.         <style> 
  5.             p label {  
  6.                 width: 180px;  
  7.                 float: left;  
  8.                 text-align: right;  
  9.                 padding-right: 10px  
  10.             }  
  11.             table {  
  12.                 margin-left: 80px  
  13.             }  
  14.             table td {  
  15.                 border-bottom: 1px solid #CCCCCC  
  16.             }  
  17.             input.submit {  
  18.                 margin-left: 80px  
  19.             }  
  20.         style> 
  21.     head> 
  22.     <body> 
  23.         <form action='/register' enctype="application/x-www-form+xml" method="post"> 
  24.             <p> 
  25.                 <label for='name'>ID(請使用Email注冊)label> 
  26.                 <input name='name' required type='email'>input> 
  27.             p> 
  28.             <p> 
  29.                 <label for='password'>密碼label> 
  30.                 <input name='password' required type='password'>input> 
  31.             p> 
  32.             <p> 
  33.                 <label for='birthday'>出生日期label> 
  34.                 <input type='date' name='birthday' /> 
  35.             p> 
  36.             <p> 
  37.                 <label for='gender'>國籍label> 
  38.                 <select name='country' data='countries.xml'>select> 
  39.             p> 
  40.             <p> 
  41.                 <label for='photo'>個性頭像label> 
  42.                 <input type='file' name='photo' accept='image/*' /> 
  43.             p> 
  44.             <table> 
  45.                 <thead> 
  46.                     <td><button type="add" template="questionId">+button> 保密問題td> 
  47.                     <td>答案td> 
  48.                     <td>td> 
  49.                 thead> 
  50.                 <tr id="questionId" repeat="template" repeat-start="1" repeat-min="1" repeat-max="3"> 
  51.                     <td><input type="text" name="questions[questionId].q">td> 
  52. <td><input type="text" name="questions[questionId].a">td> 
  53. <td><button type="remove">刪除button>td> 
  54.                 tr> 
  55.             table> 
  56.             <p> 
  57.                 <input type='submit' value='send' class='submit' /> 
  58.             p> 
  59.         form> 
  60.     body> 
  61. html> 

 

由于目前HTML5標準仍然在開發中,不同的瀏覽器對HTML5特性的支持都相當有限。其中Opera在表單方面支持得比較好,本實例在Opera9上運行一切正常,效果圖如下:

HTML5的表單元素


這個實例運用了一些HTML5的新的表單元素,比如email類型的輸入框(ID),日期類型的輸入框(出生日期)。并且使用了重復模型來引導用戶填寫保密問題,而在個性頭像的上傳中,通過限制文件類型,方便用戶選擇圖片進行合乎規范的內容上傳。而用戶選擇國籍的下拉選擇輸入框中,采用的是外聯數據源的形式,外聯數據源使用coutries.xml,內容如下:

 

  1. <select xmlns="http://www.w3.org/1999/xhtml"> 
  2.     <option>Chinaoption> 
  3.     <option>Japanoption> 
  4.     <option>Koreaoption> 
  5. select> 

 

并且form的enctype是application/x-www-form+xml,也就是HTML5的XML提交。所以一旦form校驗通過,form的內容將會以XML的形式提交。你還會發現,在ID輸入框如果沒有值,或者輸入了非email類型的字符串時,一旦試圖提交表單,就會有提示錯誤的信息出現,而這都是瀏覽器內置的。
結語

HTML5對表單控件的更新,無疑是很振奮人心的。本文描述了一部分表單的新特性,還有一部分新特性同樣很令人期待。相信隨著標準的深入開發以及瀏覽器對HTML5支持程度的進一步提升,設計一個簡單易用的表單的工作,將變得非常輕松。

【編輯推薦】

  1. IBM演示下一代網絡技術 初試HTML5
  2. HTML5-不需要Flash插件的YouTube
  3. Google將推出開發者社區 改善Web性能
  4. 讓JavaScript拯救HTML5的離線存儲
  5. Web3.0、關聯數據和語義網
責任編輯:佚名 來源: infoq
相關推薦

2014-07-18 17:14:34

2011-01-19 08:25:57

HTML5Web

2013-07-27 21:28:44

2009-03-16 09:27:45

HTML 5IBM套接字

2013-06-27 11:21:17

2021-04-01 09:01:57

lit-htmlJavaScript DOM API

2015-08-26 17:22:45

bootstrap下一代特點

2015-08-27 09:37:22

Bootstrap特點

2012-11-16 11:31:39

大數據CRM

2020-09-16 10:28:54

邊緣計算云計算數據中心

2025-01-03 09:24:10

模型架構論文

2020-06-02 08:05:28

智能電表蜂窩物聯網NB-IoT

2018-09-11 08:00:00

DevOpsAIOps機器學習

2024-02-26 14:46:53

移動計算人工智能5G

2011-01-11 10:13:06

2011-04-19 16:57:07

HTML5

2018-09-27 18:47:45

AIOpsDevOps

2020-09-27 17:27:58

邊緣計算云計算技術

2011-11-03 14:19:15

2014-08-25 09:54:14

移動辦公趨勢科技
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产99久久精品一区二区300 | 日韩免费一区二区 | 一级片aaa| 国产成人免费观看 | 欧美片网站免费 | 欧美视频1区 | 人操人人干人 | www.精品国产 | 99久久精品国产毛片 | 精品国产一区二区三区成人影院 | 精品一二三区 | 在线视频日韩 | 欧美一区二区综合 | 亚州春色 | 鸳鸯谱在线观看高清 | 4hu最新网址 | 精品av久久久久电影 | 日韩精品一区二区三区在线播放 | 中文字幕精品一区二区三区精品 | 激情一区 | 亚洲一区二区视频 | 欧美激情视频一区二区三区在线播放 | 国产精品五区 | 欧美午夜精品 | 中文字幕 在线观看 | 五月天综合影院 | 国产福利91精品一区二区三区 | 欧美一级欧美三级在线观看 | 中文字幕一区二区三区四区 | 日韩欧美精品 | 91在线色视频 | 国产精品精品久久久久久 | 日韩精品一区中文字幕 | 国产三级大片 | 97伊人| 日韩在线电影 | 国产成人av在线播放 | 午夜影院黄 | 美女福利视频 | 国产成人在线视频免费观看 | 久久成人精品 |