HTML5權威指南筆記:13-定製input元素

1 用input 元素輸入文字

type屬性設置爲text的input元素在瀏覽器中顯示爲一個單行文本框,這是未設置type屬性情況下的默認形式。
text型input元素可用的額外屬性

屬性 說明 是否HTML5新增
dirname 指定元素內容文字方向的名稱,參見1.5節
list 指定爲文本框提供建議值的datalist元素,其值爲datalist元素的id值,詳見1.3節
maxlength 設定用戶可以在文本框中輸入的字符的最大數目,詳見1.3節
pattern 指定一個用於輸入驗證的正則表達式,詳見第14章
placeholder 指定關於所需數據類型的提示,詳見1.2節
readonly 用來將文本框設爲只讀以阻止用戶編輯其內容,詳見1.4節
required 表明用戶必須輸人一個值,否則無法通過輸入驗證,詳見第14章
size 通過指定文本框中可見的字符數目設定其寬度,詳見1.1節
value 設置文本框的初始值,詳見1.2節

1.1 設定元素大小

maxlength屬性設定了用戶能夠輸入的字符的最大數目, size屬性則設定了文本框能夠顯示的字符數目

<input size="10" maxlength="10" id="fave" name="fave"/>

1.2 設置初始值和佔位式提示

可以用value屬性設置一個默認值,還可以用placeholder屬性設置一段提示文字

<input placeholder="Your name" id="name" name="name"/>
<input value="Apple" id="fave" name="fave"/>

1.3 使用數據列表

可以將input元素的list屬性設置爲一個datalist元素的id屬性值,這樣用戶在文本框中輸入數據時只消從後一元素提供的一批選項中進行選擇就行了

datalist元素
元素類型 短語
允許具有的父元素 任何可以包含短語元素的元素
局部屬性
內容 option元素和短語內容
標籤用法 開始標籤和結束標籤
是否爲HTML5新增
在HTML5中的變化
習慣樣式

提供給用戶選擇的值各用一個option元素指定

option元素
元素類型
允許具有的父元素 datalist 、select 、optgroup
局部屬性 disabled 、selected 、label和value
內容 字符數據
標籤用法 虛元素形式,或開始標籤與結束標籤一起使用
是否爲HTML5新增
在HTML5中的變化
習慣樣式

例子:

<!--使用datalist元素-->
<!DOCTYPE HTML>
<html>
    <head>
    </head>
    <body>        
        <form method="post" action="http://titan:8080/form">
                <label for="fave">
                    <!--使用list選定datalist-->
                    Fruit: <input list="fruitlist" id="fave" name="fave"/>
                </label>
            <button type="submit">Submit Vote</button>
        </form>

        <datalist id="fruitlist">
            <!--其value屬性值在該元素代表的選項被選中時就是input元素所用的數據值
                顯示的時候不會是value的值-->
            <option value="Apples" label="Lovely Apples"/>
            <option value="Oranges">Refreshing Oranges</option>
            <option value="Cherries"/>
        </datalist>

    </body>
</html>

1.4 生成只讀或被禁用的文本框

  1. readonly和disabled屬性都可以用來生成用戶不能編輯的文本框,其結果的外觀不同。
  2. 設置了disabled屬性的input元素的數據不會提交到服務器,readonly屬性會。
<input value="Adam" disabled id="name" name="name"/>
<input value="Boston" readonly id="city" name="city"/>

2 用input 元素輸入密碼

type屬性值設置爲password 的input元素用於輸入密碼
password型input 元素可用的額外屬性

屬性 說明 是否HTML5新增
maxlength 設定用戶可以在密碼框中輸入的字符的最大數目,詳見1.1節
pattern 指定一個用於輸入驗證的正則表達式,詳見第14章
palceholder 指定關於所需數據類型的提示,詳見1.2節
readonly 將密碼框設爲只讀以阻止用戶編輯其中的內容,詳見1.4節
required 表明用戶必須輸入一個值,否則無法通過輸入驗證,詳見第14章
size 通過指定密碼框中可見的字符數目設定其寬度,詳見1.1節
value 設置初始密碼值

例子:

<input type="password" placeholder="Min 6 characters"
                        id="password" name="password"/>

3 用input 元素生成按鈕

將input元素的type屬性設置爲submit 、reset和button會生成類似button元素

  1. submit:生成用來提交表單的按鈕
  2. reset:生成用來重置表單的按鈕
  3. button:生成不執行任何操作的按鈕
<input type="submit" value="Submit Vote"/>
<input type="reset" value="Reset Form"/>
<input type="button" value="My Button"!>

4 用input 元素爲輸入數據把關

用千輸入受限數據的input元素的type屬性值

屬性 說明 是否HTML5新增
checkbox 將輸入限制爲在一個“是/否” 二態複選框中進行選擇
color 只能輸入顏色信息
date 只能輸入日期
datetime 只能輸入帶時區信息的世界時(包括日期和時間)
datetime-local 只能輸入不帶時區信息的世界時(包括日期和時間)
email 只能輸入規範的電子郵箱地址
month 只能輸入年和月
number 只能輸入整數或浮點數
radiobutton 將輸入限制爲在一組固定選項中進行選擇
range 只能輸入指定範圍內的數值
tel 只能輸入規範的電話號碼
time 只能輸入時間信息
week 只能輸人年及星期信息
url 只能輸入完全限定的URL

4.1 用input元素獲取數值

type屬性設置爲number的input元素生成的輸入框只接受數值
number型input元素可用的額外屬性

屬性 說明 是否HTML5新增
list 指定爲文本框提供建議值的datalist元素。其值爲datalist元素的id值。datalist元素的介紹詳見1.3節
min 設定可接受的最小值(也是下調按鈕(如果有的話)的下限)以便進行輸入驗證。輸入驗證的介紹詳見第14章
max 設定可接受的最大值(也是上調按鈕(如果有的話)的上限)以便進行輸人驗證。輸入驗證的介紹詳見第14章
readonly 用來將文本框設置爲只讀以阻止用戶編輯其內容。詳見1.4節
required 表明用戶必須輸入一個值,否則無法通過輸入驗證。詳見第14章
step 指定上下調節數值的步長
value 指定元素的初始值

例子:

 <!--min 、max 、step和value屬性值可以是整數或小數-->
<input type="number" step="1" min="O" max="100"
    value="1" id="price" name="price"/>            

4.2 用input元素獲取指定範圍內的數值

使用range型input元素,能從事先規定的範圍內選擇一個數值,range型input元素支持的屬性與number型相同

<input type="range" step="1" min="0" max="100"
value="1" id="price" name="price"/>

4.3 用input 元素獲取布爾型輸入

checkbox型input元素會生成供用戶選擇是或否的複選框。
checkbox型input元素可用的額外屬性

屬性 說明 是否HTML5新增
checked 設置了該屬性的複選框剛顯示出來時或重置表單後呈勾選狀態
required 表示用戶必須勾選該複選框,否則無法通過輸入驗證。詳見第14章
value 設定在複選框呈勾選狀態時提交給服務器的數據值。默認爲on
<input type="checkbox" id="veggie" name="veggie"/>

只有處於勾選狀態的複選框的數據值會發送給服務器。

4.4 用input元素生成一組固定選項

radio型input元素可以用來生成一組單選按鈕,供用戶從一批固定的選項中作出選擇
radio型input元素可用的額外屬性同checkbox型一樣

    <!--radio它們的name屬性都設置爲一樣,這樣一來,選擇其中任何一個按鈕都會取消對另外兩個按鈕的選擇
    value屬性值,提交表單時選定按鈕的這個值會被髮送給服務器-->
    <label for="apples">
        <input type="radio" checked value="Apples" id="apples"
               name="fave" />
        Apples
    </label>
    <label for="oranges">
        <input type="radio" value="Oranges" id="oranges" name="fave" />
        Oranges
    </label>
    <label for="cherries">
        <input type="radio" value="Cherries" id="cherries" name="fave" />
        Cherries
    </label>

4.5 用input元素獲取有規定格式的字符串

type屬性設置爲email 、tel和url的input元素能接受的輸入數據分別爲有效的電子郵箱地址、電話號碼和URL。
email型、tel型和url型input元素可用的額外屬性

屬性 說明 是否HTML5新增
list 指定爲文本框提供建議值的datalist元素,其值爲datalist元素的id值,詳見1.3節
maxlength 設定用戶能夠在文本框中輸入的字符的最大數目,詳見1.1節
pattern 指定一個用於輸入驗證的正則表達式,詳見第14章
placeholder 指定關於所需數據類型的提示, 詳見1.2節
readonly 用來將文本框設爲只讀以阻止用戶編輯其內容
required 表示用戶必須提供一個值,否則無法通過輸人驗證,詳見第14章
size 通過指定文本框中可見的字符數目設定其寬度,詳見1.1節
value 指定元素的初始值,詳見1.2節。對於email型input元素,其值可能是單個郵箱地址,也可能是以逗號分隔的多個郵箱地址
multiple email支持,設置後可以接受多個電子郵箱地址

例子:

 <p>
        <label for="email">
            Email: <input type="email" placeholder="[email protected]"
                          id="email" name="email" />
        </label>
    </p>
    <p>
        <label for="tel">
            Tel: <input type="tel" placeholder="(XXX)-XXX-XXXX"
                        id="tel" name="tel" />
        </label>
    </p>
    <p>
        <label for="url">
            Your homepage: <input type="url" id="url" name="url" />
        </label>
    </p>

4.6 用input 元素獲取時間和日期

用來獲取時間和日期的input元素類型

type屬性值 說明 示例
datetime 獲取世界時日期和時間,包括時區信息 2011-07-19T16:49:39.491Z
datetime-local 獲取本地日期和時間( 不含時區信息) 2011-07-19T16:49:39.491
date 獲取本地日期(不含時間和時區信息) 2011-07-20
month 獲取年月信息(不含日、時間和時區信息) 2011-08
time 獲取時間 17:49:44.746
week 獲取當前星期 2011-W30

用於輸入日期和時間的input元素可用的額外屬性

屬性 說明 是否HTML5新增
list 指定爲文本框提供建議值的datalist元素。其值爲datalist元素的id值。datalist元素的介紹詳見1.3節
min 設定可接受的最小值(也是下調按鈕(如果有的話)的下限)以便進行輸入驗證。輸入驗證的介紹詳見第14章
max 設定可接受的最大值(也是上調按鈕(如果有的話)的上限)以便進行輸人驗證。輸入驗證的介紹詳見第14章
readonly 用來將文本框設置爲只讀以阻止用戶編輯其內容。詳見1.4節
required 表明用戶必須輸入一個值,否則無法通過輸入驗證。詳見第14章
step 指定上下調節數值的步長
value 指定元素的初始值

例子:

<input type="date" id="lastbuy" name="lastbuy"/>

4.7 用input元素獲取顏色值

color型input元素只能用來選擇顏色。
顏色值以7個字符的格式表示: 以#開頭,接下來是三個兩位十六進制數,它們分別代表紅、綠、藍三種原色的值

<input type="color" id="color" name="color"/>

5 用input 元素獲取搜索用詞

search型input元素會生成一個單行文本框,供用戶輸入搜索用詞,只有樣式的改變而沒有實際作用

<input type="search" id="search" name="search"/>

6 用input 元素生成隱藏的數據項

hidden型input元素可以使一些用戶看不到或不能編輯的數據項,在提交表單時也能將其發送給服務器。

<input type="hidden" name="recordID" value="1234"/>

7 用input 元素生成圖像按鈕和分區響應圖

image型input元素生成的按鈕顯示爲一幅圖像,點擊它可以提交表單
image型input元素可用的額外屬性

屬性 說明 是否HTML5新增
alt 提供元素的說明文字。對需要藉助殘障輔助技術的用戶很有用
formaction 等價於button元素的同名屬性, 參見第12章
formenctype 等價於button元素的同名屬性, 參見第12章
formmethod 等價於button元素的同名屬性, 參見第12章
formtarget 等價於button元素的同名屬性, 參見第12章
formnovaidate 等價於button元素的同名屬性, 參見第12章
height 以像素爲單位設置圖像的高度(不設置這個屬性的話圖像將以其本身的高度顯示)
src 指定要顯示的圖像的URL
width 以像素爲單位設置圖像的寬度(不設置這個屬性的話圖像將以其本身的寬度顯示)

例子:

<input type="image" src="accept.png" name="submit"/>

點擊圖像按鈕會導致瀏覽器提交表單。在發送的數據中包括來自那個image型input元素的兩個數據項,它們分別代表用戶點擊位置相對於圖像左上角的x座標和y座標。

8 用input 元素上傳文件

file型,它可以在提交表單時將文件上傳到服務器
file型input元素可用的額外屬性

屬性 說明 是否HTML5新增
accept 指定接受的MIME類型
multiple 設置這個屬性的input元素可一次上傳多個文件
required 表明用戶必須爲其提供一個值,否則無法通過輸入驗證。詳見第14章

例子:

    <!--爲multi part/form-data 的時候才能上傳文件-->
    <form enctype="multipart/form-data">
        <input type="file" name="filedata" />
    </form>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章