主頁(yè) > 知識(shí)庫(kù) > 淺談html中input只讀屬性readonly和disable的區(qū)別

淺談html中input只讀屬性readonly和disable的區(qū)別

熱門標(biāo)簽:阿里云 網(wǎng)站建設(shè) 智能手機(jī) 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 使用U盤裝系統(tǒng) 硅谷的囚徒呼叫中心

Readonly和Disabled它們都能夠做到使用戶不能夠更改表單域中的內(nèi)容。但是它們之間有著微小的差別,總結(jié)如下:

Readonly只針對(duì)input(text / password)和textarea有效,而disabled對(duì)于所有的表單元素都有效,但是表單元素在使用了disabled后,當(dāng)我們將表單以POST或GET的方式提交的話,這個(gè)元素的值不會(huì)被傳遞出去,而readonly會(huì)將該值傳遞出去(readonly接受值更改可以回傳,disable接受改但不回傳數(shù)據(jù))。

一般比較常用的情況是:

1、在某個(gè)表單中為用戶預(yù)填了某個(gè)唯一識(shí)別代碼,不允許用戶改動(dòng),但是在提交時(shí)需要傳遞該值,此時(shí)應(yīng)該將它的屬性設(shè)置為readonly 。

2、經(jīng)常遇到當(dāng)用戶正式提交了表單后需要等待管理員的信息驗(yàn)證,這就不允許用戶再更改表單中的數(shù)據(jù),而是只能夠查看,由于disabled的作用元素范圍大,所以此時(shí)應(yīng)該使用disabled,但同時(shí)應(yīng)該注意的是要將submit button也disabled掉,否則只要用戶按了這個(gè)按鈕,如果在數(shù)據(jù)庫(kù)操作頁(yè)面中沒(méi)有做完整性檢測(cè)的話,數(shù)據(jù)庫(kù)中的值就會(huì)被清除。如果說(shuō)在這種情況下用readonly來(lái)代替disabled的話,若表單中只有input(text / password)和textarea元素,那還是可以的,如果存在其他發(fā)元素,比如select,用戶可以在重新改寫值后按回車鍵進(jìn)行提交(回車是默認(rèn)的submit觸發(fā)按鍵)

3、我們常常在用戶按了提交按鈕后,利用javascript將提交按鈕disabled掉,這樣可以防止網(wǎng)絡(luò)條件比較差的環(huán)境下,用戶反復(fù)點(diǎn)提交按鈕導(dǎo)致數(shù)據(jù)冗余地存入數(shù)據(jù)庫(kù)。

disabled和readonly這兩個(gè)屬性有一些共同之處,比如都設(shè)為true,則form屬性將不能被編輯,往往在寫js代碼的時(shí)候容易混合使用這兩個(gè)屬性,其實(shí)他們之間是有一定區(qū)別的:

如果一個(gè)輸入項(xiàng)的disabled設(shè)為true,則該表單輸入項(xiàng)不能獲取焦點(diǎn),用戶的所有操作(鼠標(biāo)點(diǎn)擊和鍵盤輸入等)對(duì)該輸入項(xiàng)都無(wú)效,最重要的一點(diǎn)是當(dāng)提交表單時(shí),這個(gè)表單輸入項(xiàng)將不會(huì)被提交。

readonly只是針對(duì)文本輸入框這類可以輸入文本的輸入項(xiàng),如果設(shè)為true,用戶只是不能編輯對(duì)應(yīng)的文本,但是仍然可以聚焦焦點(diǎn),并且在提交表單的時(shí)候,該輸入項(xiàng)會(huì)作為form的一項(xiàng)提交。 

以上這篇淺談html中input只讀屬性readonly和disable的區(qū)別就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

原文地址:http://blog.csdn.net/playboyanta123/article/details/12682419#comments

標(biāo)簽:通遼 煙臺(tái) 湖北 湘潭 黃山 山南 懷化 賀州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談html中input只讀屬性readonly和disable的區(qū)別》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266