91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5新添加的表單功能有哪些

發布時間:2021-02-25 14:21:07 來源:億速云 閱讀:178 作者:小新 欄目:web開發

小編給大家分享一下HTML5新添加的表單功能有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

HTML5針對表單方面也做了一些完善,新添加了一些驗證數據的功能,新添加了一些標簽屬性。有了這些驗證功能,就可以不用JavaScript進行驗證,哪怕是JavaScript被禁用了也可以毫無壓力的驗證表單了。開發人員不用JavaScript,瀏覽器會根據標記中的規則執行驗證,然后顯示適當的錯誤信息。這些人性化的功能在支持HTML5的瀏覽器中才能有效,支持的瀏覽器有Opera 10+、Safari 5+、Chrome和Firefox 4+。

  HTML5新添加的表單功能有:其他輸入類型、輸入模式、數值范圍、必填字段、禁用驗證和檢測有效性。

1、其他輸入類型

  說到輸入類型,大家很快的就會想到input標簽。只有input標簽才可以規定不同的類型。HTML5恰恰就是在input中的type屬性添加了一些新的屬性值。這些新的屬性值不僅可以反映數據類型的信息,還可以提供一些默認的驗證功能。其中,”email”和”url”是兩個得到支持最多的類型,各瀏覽器也為它們增加了定制的驗證機制。新添加的類型如下

  email : 電子郵箱文本框,跟普通的沒什么區別,當輸入不是郵箱的時候,驗證通不過。移動端的鍵盤會有變化

  tel : 電話號碼

  url : 網頁的URL

  search : 搜索引擎。chrome下輸入文字后,會多出一個關閉的X

  range : 特定范圍內的數值選擇器,min、max、step( 步數 )

  number : 只能包含數字的輸入框

  color : 顏色選擇器

  datetime : 顯示完整日期

  datetime-local : 顯示完整日期,不含時區

  time : 顯示時間,不含時區

  date : 顯示日期

  week : 顯示周

  month : 顯示月

小例子HTML代碼

<form action="http://www.baidu.com">
    <input type="email" />
    <input type="tel" />
    <input type="url" />
    <input type="search"/>
    <input type="range" min="0" max="10" step="2" />
    <input type="number"/>
    <input type="color"/>
    <input type="date"/>
    <input type="datetime"/>
    <input type="datetime-local"/>
    <input type="time"/>
    <input type="month"/>
    <input type="week"/>
    <!-- placeholder是讓密碼輸入框擁有默認提示 -->
    <input type="password" placeholder="請輸入密碼"/>
    <input type="submit"/>
</form>

2、輸入模式

  HTML5不僅新添加了一些新的輸入類型,還添加了新的屬性——patten屬性。Patten屬性的值是一個正則表達式,是用于匹配文本框中的值。在寫正則的時候要注意,開頭和結尾不用加^和$符號(假定已經有了)。這兩個符號表示輸入的值必須是從頭到尾與模式匹配。小例子如下

HTML代碼

<form action="#">
    <input type="text" name="user" pattern="\d{1,9}"/>
    <!-- 點擊之后 會本頁面提交-->
    <input type="submit"/>
</form>

Chrome預覽效果

HTML5新添加的表單功能有哪些

3、數值范圍

  除了”email”和”url”,HTML5還定義了另外幾個輸入元素。這幾個元素都要求填寫某種基于數字的值。但是瀏覽器對這些新添加的值兼容性并不是很好。所以對這些數值類型的輸入元素,可以指定min屬性(最小的可能值)、max屬性(最大的可能值)和step屬性(從min到max的兩個刻度之間的差值)。小例子如下

HTML代碼

<input type="range" min="0" max="10" step="2" id="range" />

JavaScript代碼

var oInput=document.getElementById("range");
oInput.stepUp() //每次加1
oInput.stepUp(5) //每次加5
oInput.stepDown() //每次減1
oInput.stepDown(10) //每次減10

4、必填字段

  在表單字段中指定required屬性,即可提示用戶這是為必填項不能為空。這個屬性適用于input標簽,textarea標簽,select標簽(Opera 12+支持)。在JavaScript中通過對于的required屬性,可以檢測表單是否為必填項。

  對于空著的必填字段,不同瀏覽器的處理方式不同。Opera 11和Firefox 4會阻止表單提交病在相應字段下面彈出幫助框,Chrome(9之前)和Safari(5之前)則什么都不做也不阻止表單提交。小例子如下

HTML代碼

<input type="text" id="text" required/>

JavaScript代碼

//檢驗是否支持必填屬性
//支持的為true ,不支持的為false
var is = "required" in document.createElement("input");

5、禁用驗證

  通過在form標簽中添加novalidate屬性,可以讓表單不自行驗證。JavaScript中可以使用novalidate獲取,若存在則是true,反之則是false。如果提交按鈕有多個,為了指定點擊某一個提交按鈕不必驗證表單,可以在相應的按鈕上添加formnovalidate屬性。也可用JavaScript添加禁用驗證的屬性。小例子如下

HTML代碼

<form action="http://blog.csdn.net/lee_magnum">
	<input type="text" id="text" required/>
    <input type="submit" value="跳過驗證,直接提交" formnovalidate/>
</form>
<form action="http://blog.csdn.net/lee_magnum" novalidate>
	<input type="text" id="text" required/>
    <input type="submit" value="直接提交"/>
</form>

6、檢測有效性,及新添屬性和方法

  在JavaScript中使用checkValidity()方法可以檢測表單中的某個字段是否有效。所有表單字段都有這個方法,如果字段的值是有效的,這份方法會返回true,否則則是false。與checkValidity()方法相比,validity屬性可以告訴你很多東西。

  valueMissing : 輸入值為空時

  typeMismatch : 控件值與預期類型不匹配

  patternMismatch : 輸入值不滿足pattern正則

  tooLong : 超過maxLength最大限制

  rangeUnderflow : 驗證的range最小值

  rangeOverflow:驗證的range最大值

  stepMismatch: 驗證range 的當前值 是否符合min、max及step的規則

  customError: 不符合自定義驗證,是否設置setCustomValidity(); 自定義驗證

  placeholder : 輸入框提示信息

  autocomplete : 是否保存用戶輸入值。默認為on,關閉提示選擇off

  autofocus : 指定表單獲取輸入焦點

  list和datalist : 為輸入框構造一個選擇列表。list值為datalist標簽的id

  Formaction : 在submit里定義提交地址

小例子JavaScript代碼

if(input.validity && !input.validity.valid){
	if(input.validity.valueMissing){
		alert("不能為空")
	}else if(input.validity.typeMismatch){
		alert("控件值與預期類型不匹配");
	}
}

以上是“HTML5新添加的表單功能有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长子县| 双柏县| 冕宁县| 蕉岭县| 永胜县| 井冈山市| 龙岩市| 丽水市| 称多县| 兴山县| 保德县| 什邡市| 东乡| 东阳市| 铜梁县| 克什克腾旗| 连山| 萝北县| 登封市| 石棉县| 平南县| 信宜市| 德兴市| 会同县| 永安市| 海宁市| 广平县| 凤翔县| 新泰市| 斗六市| 陇西县| 南康市| 奎屯市| 东明县| 苍溪县| 沈阳市| 綦江县| 微博| 静安区| 仲巴县| 甘谷县|