亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

使用HTML5構建下一代的Web Form

2024-08-26 00:15:24
字體:
來源:轉載
供稿:網友

HTML5 是由 WHATWG (Web Hypertext Application Technology Working Group) 發起的,最開始的名稱叫做Web Application 1.0,而后這個標準吸納了Web Forms 2.0的標準,并一同被W3C組織所采用,合并成為下一代的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表單做了改進:

  • 新的控件類型
    • 還在為類型檢查犯愁嗎,還在為那一長串看不太明白的檢驗輸入的正則表達式而苦惱嗎,HTML5提供的一系列新的控件將天然的具備類型檢查的功能。比如說URL輸入框,Email輸入框等。
      <input type="url"></input>
      <input type="email"></input>
    • 當然還有非常重要的日期輸入框,要知道使用JavaScript和CSS來“手工”制作一個日期輸入框還是非?;üΨ虻?,類似Dojo,YUI這樣的類庫也無不在這個widget上面大做文章。
      <input type="date"></input>
    • 作為我痛苦記憶的一部分,我經常記得我們開發人員要為一個select下拉別表動態的添加非常多的選項,這些選項大多數都是來自數據庫,比如說國家、省市列表等等。這個事情非常繁瑣。HTML5將支持data屬性,為select控件外聯數據源!
      <select data="http://domain/getmyoptions"></select>
  • 改進的文件上傳控件,你可以使用一個控件上傳多個文件,自行規定上傳文件的類型(accept),你甚至可以設定每個文件最大的大?。╩axlength)。你看出它和一般操作系統提供的文件上傳控件的區別了嗎,反正我覺得基本一致了。在HTML5應用中,文件上傳控件將變得非常強大和易用。
  • 重復(repeat)的模型,HTML5提供一套重復機制來幫助我們構建一些重復輸入列表,其中包括一些諸如add、remove、move-up,move-down的按鈕類型,通過這一套重復的機制,開發人員可以非常方便的實現我們經??吹降木庉嬃斜?,這是一個很常見的模式,我們可以增加一個條目、刪除某個條目、或者移動某個條目等等。
  • 內建的表單校驗系統,HTML5為不同類型的輸入控件各自提供了新的屬性,來控制這些控件的輸入行為,比如我們常見的必填項required屬性,以及為數字類型控件提供的max、min等。 而在你提交表單的時候,一旦校驗錯誤,瀏覽器將不執行提交操作,而會顯示相應的檢驗錯誤信息。
    <input type="text" required></input>
    <input type="number" min=10 max=100></input>
  • XML Submission,我們一般常見的是form的編碼格式是application/x-www-form-urlencoded。開發人員都很清楚這種格式,數據送到服務器端,可以方便的存取。HTML5將提供一種新的數據格式:XML Submission,即application/x-www-form+xml。簡單的舉例說,服務器端將直接接收到XML形式的表單數據。
    <submission>
       <field name="name" index="0">Peter</field>
       <field name="password" index="0">password</field>
    </submission>

實例分析

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

<! doctype html><html>    <head>        <style>            p label {                width: 180px;                float: left;                text-align: right;                padding-right: 10px            }            table {                margin-left: 80px            }            table td {                border-bottom: 1px solid #CCCCCC            }            input.submit {                margin-left: 80px            }        </style>    </head>    <body>        <form action='/register' enctype="application/x-www-form+xml" method="post">            <p>                <label for='name'>ID(請使用Email注冊)</label>                <input name='name' required type='email'></input>            </p>            <p>                <label for='password'>密碼</label>                <input name='password' required type='password'></input>            </p>            <p>                <label for='birthday'>出生日期</label>                <input type='date' name='birthday' />            </p>            <p>                <label for='gender'>國籍</label>                <select name='country' data='countries.xml'></select>            </p>            <p>                <label for='photo'>個性頭像</label>                <input type='file' name='photo' accept='image/*' />            </p>            <table>                <thead>                    <td><button type="add" template="questionId">+</button> 保密問題</td>                    <td>答案</td>                    <td></td>                </thead>                <tr id="questionId" repeat="template" repeat-start="1" repeat-min="1" repeat-max="3">                    <td><input type="text" name="questions[questionId].q"></td><td><input type="text" name="questions[questionId].a"></td><td><button type="remove">刪除</button></td>                </tr>            </table>            <p>                <input type='submit' value='send' class='submit' />            </p>        </form>    </body></html>

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

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

<select xmlns="http://www.w3.org/1999/xhtml">    <option>China</option>    <option>Japan</option>    <option>Korea</option></select>

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

結語

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久中文字幕| 久久精品视频免费播放| 欧美黑人性视频| 日韩国产欧美区| 国产成人精品久久亚洲高清不卡| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲欧美制服另类日韩| 97在线观看视频国产| 欧美又大又粗又长| 日本精品久久久久久久| 亚洲日本中文字幕免费在线不卡| 色综合久久悠悠| 成人欧美一区二区三区黑人孕妇| 亚洲欧美国产va在线影院| 久久精视频免费在线久久完整在线看| 日韩免费视频在线观看| 色av中文字幕一区| 国产精品久久色| 欧美精品制服第一页| 国产精品视频yy9099| 亚洲精品第一国产综合精品| 亚洲国产成人久久| 亚洲天堂男人天堂女人天堂| 久久影视电视剧免费网站| 欧美日韩中文在线| 国产mv久久久| 国内精品一区二区三区四区| 国产精品精品久久久| 人人爽久久涩噜噜噜网站| 91亚洲精品视频| 欧美天堂在线观看| 久久影视电视剧免费网站| 精品毛片三在线观看| 欧美日韩亚洲高清| 国产精品美乳在线观看| 久久久精品中文字幕| 97久久超碰福利国产精品…| 国产成人精品久久| 精品久久久久久久久久久久久久| 欧美疯狂做受xxxx高潮| 久久久成人精品视频| 欧美性xxxxx极品娇小| 中文字幕亚洲在线| 国产成人精品a视频一区www| 性欧美在线看片a免费观看| 国产精品日韩欧美综合| 国产丝袜一区二区三区| 久久香蕉国产线看观看网| 欧美视频免费在线观看| 欧美激情按摩在线| 97国产成人精品视频| 亚洲大胆美女视频| 亚洲欧美日韩精品| 日韩av在线最新| 亚洲一区中文字幕在线观看| 欧美精品videos| 国产成人久久久| 欧美乱大交xxxxx另类电影| 青草青草久热精品视频在线观看| 中文.日本.精品| 欧美激情一区二区久久久| 97香蕉超级碰碰久久免费软件| 中日韩午夜理伦电影免费| 午夜精品久久久久久久男人的天堂| 国产69精品久久久久9999| 在线免费观看羞羞视频一区二区| 亚洲精品一区久久久久久| 日韩在线免费视频| 精品二区三区线观看| 日韩精品有码在线观看| 国产福利视频一区二区| 78色国产精品| 亚洲精品国精品久久99热一| 亚洲深夜福利视频| 日本成人激情视频| 欧美一二三视频| 深夜成人在线观看| 国产精品劲爆视频| 国产精品露脸自拍| 91视频免费网站| 青青在线视频一区二区三区| 欧美做受高潮1| 亚洲美女视频网| 亚洲综合精品伊人久久| 国产精品男人爽免费视频1| 亚洲视频在线看| 国产91精品久久久久久| 中文字幕日韩视频| 欧美成人四级hd版| 91av在线网站| 成人网址在线观看| www.欧美三级电影.com| 亚洲美女中文字幕| 欧美激情第99页| 亚洲人成电影网站色| 久久成人这里只有精品| 亚洲精品久久久久| 日韩视频第一页| 中文字幕亚洲色图| 亚洲人免费视频| 欧美夫妻性生活xx| 亚洲欧美精品suv| 大伊人狠狠躁夜夜躁av一区| 国产精品视频久久久久| 欧美日韩另类字幕中文| 成人黄色影片在线| 国产亚洲精品久久久久久牛牛| 久久91精品国产| 亚洲丝袜一区在线| 欧美黑人一区二区三区| 国产精品久久二区| 韩国精品久久久999| 成人欧美一区二区三区在线| 成人做爽爽免费视频| 国产精品视频不卡| 日韩精品极品毛片系列视频| 日韩在线免费视频| 91免费的视频在线播放| 国产精品日日做人人爱| 国产一级揄自揄精品视频| 成人精品一区二区三区电影黑人| 国产va免费精品高清在线| 91成人国产在线观看| 亚洲高清免费观看高清完整版| 精品国产一区二区三区久久狼5月| 一道本无吗dⅴd在线播放一区| 日韩电影第一页| 日韩视频免费在线观看| 91沈先生在线观看| 欧美高清视频在线观看| 日韩免费在线电影| 成人性教育视频在线观看| 欧美一区二区三区免费视| 色噜噜狠狠狠综合曰曰曰88av| 久久精品国产一区| 91免费在线视频网站| 国产亚洲欧洲在线| 欧美三级免费观看| 精品一区二区三区电影| 高跟丝袜欧美一区| 亚洲性线免费观看视频成熟| 欧美日韩中文字幕在线| 国产91精品视频在线观看| 欧美日韩国产一区在线| 日韩电影网在线| 亚洲天堂男人天堂| 成人午夜小视频| 欧美激情中文字幕乱码免费| 97在线免费观看视频| 久久香蕉频线观| 最近2019好看的中文字幕免费| 26uuu亚洲伊人春色| 九九久久久久99精品| 视频在线观看99| 久久久国产91| 福利视频一区二区| 亚洲第一福利视频| 日韩午夜在线视频| 久久精品91久久久久久再现| 欧美尤物巨大精品爽| 日韩**中文字幕毛片| 亚洲色在线视频| 亚洲在线观看视频| 国产主播在线一区|