久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 詳述input只讀屬性

詳述input只讀屬性

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-21 10:54:40 1700535280

在Web開發(fā)中,表單是一種非常常見的元素,而input標(biāo)簽作為表單元素的一種,包含了許多屬性,其中只讀屬性(readonly)則是比較重要的一個(gè)屬性。在本文中,我們將從以下多個(gè)方面詳細(xì)闡述input只讀屬性。

一、readonly的作用及用法

readonly屬性是指的一個(gè)只讀的輸入域,它的作用是可以讓用戶查看表單元素的值,但無法修改該值。readonly屬性一般用于需要顯示元素的信息,但又不希望用戶隨意修改的場(chǎng)景。例如,一個(gè)用戶名的輸入框,在顯示用戶當(dāng)前用戶名的同時(shí),使用readonly屬性,防止用戶亂改自己的用戶名。



需要注意的是,readonly屬性和disabled屬性是不同的,disabled屬性會(huì)禁止用戶輸入和表單提交,而readonly屬性只是禁止用戶修改,但仍然可以進(jìn)行表單提交。

二、只讀屬性對(duì)于表單校驗(yàn)的影響

通常情況下,使用表單驗(yàn)證可以防止用戶提交不合法的數(shù)據(jù)。但當(dāng)表單元素加上readonly屬性時(shí),就需要注意了。

首先需要明確的是,雖然readonly屬性使表單元素只讀,但是仍然可以通過JS等手段修改該元素的value值,這就會(huì)涉及到表單校驗(yàn)的問題。

那么在表單校驗(yàn)時(shí),需要注意的就是readonly屬性的表單元素需要禁止用戶的輸入,但是需要允許JS修改它的value值,這可以通過禁用掉表單驗(yàn)證器,或者手動(dòng)調(diào)用驗(yàn)證器的方式進(jìn)行。

三、只讀屬性對(duì)于CSS的影響

readonly屬性會(huì)讓使用者不能更改input元素的值,但并不會(huì)改變input元素本身的樣式和特性。所以,在一些特定的情況下,readonly屬性可能會(huì)導(dǎo)致某些CSS樣式失效。

例如,在一些情況下,readonly屬性被濫用,用來代替disabled屬性。這時(shí)候,在CSS樣式中對(duì)disabled屬性的設(shè)置已經(jīng)失效。


四、readonly屬性在移動(dòng)端的一些注意事項(xiàng)

在移動(dòng)端,雖然readonly屬性也可以正確地禁止用戶的操作,但是需要注意的是,在一些低版本的Android瀏覽器上,readonly屬性有時(shí)候會(huì)不生效。

這時(shí)候,可以采用JS等手段來實(shí)現(xiàn)readonly屬性的效果,在每次鍵盤彈起、失去焦點(diǎn)等關(guān)鍵事件時(shí),判定元素是否為readonly,并根據(jù)結(jié)果進(jìn)行相應(yīng)的處理。例如:


使用onfocus="this.blur()"的方式,可以在元素獲取焦點(diǎn)后,立即獲得焦點(diǎn),并且自動(dòng)失去焦點(diǎn),達(dá)到了禁止用戶修改的效果。

五、readonly屬性的草率使用可能帶來的風(fēng)險(xiǎn)

雖然readonly屬性在保護(hù)表單元素的數(shù)據(jù)完整性方面是非常有效的,但是如果草率使用該屬性,就可能會(huì)導(dǎo)致其他問題。

例如,readonly屬性的表單元素仍然可以被JS、jQuery等庫(kù)修改。如果在JS中對(duì)其進(jìn)行修改,就可能會(huì)導(dǎo)致表單元素的值和UI上的信息不一致,進(jìn)而導(dǎo)致數(shù)據(jù)錯(cuò)誤等問題。

更為嚴(yán)重的是,如果readonly屬性被濫用,用于代替disabled屬性,這就會(huì)導(dǎo)致表單元素失去原有的語義性。有些瀏覽器甚至?xí)eadonly屬性的表單元素顯示為可編輯的形式,進(jìn)而混淆使用者的界面體驗(yàn)。

六、小結(jié)

本文介紹了input只讀屬性readonly的作用及用法、只讀屬性對(duì)于表單校驗(yàn)、CSS樣式、移動(dòng)端的一些注意事項(xiàng)以及草率使用只讀屬性可能帶來的風(fēng)險(xiǎn)等多個(gè)方面的詳細(xì)內(nèi)容。readonly屬性對(duì)于表單元素的保護(hù)具有重要的作用,但是需要結(jié)合實(shí)際情況準(zhǔn)確使用,避免 misuse。

tags: h264sei
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
touchmove事件

一、touchmove事件的定義touchmove事件是指手指在觸摸屏上移動(dòng)時(shí)所觸發(fā)的事件,在移動(dòng)時(shí)會(huì)不斷地觸發(fā)該事件,可以通過該事件來進(jìn)行拖拽、滑動(dòng)等...詳情>>

2023-11-21 13:36:41
深入理解ES OR查詢

ES OR查詢是一種常見的查詢方式,它可以幫助我們?cè)诙鄠€(gè)字段中查找需要的信息。本文將從以下幾個(gè)方面詳細(xì)闡述ES OR查詢的使用方法和功能。一、基...詳情>>

2023-11-21 13:22:17
如何在gdb中刪除斷點(diǎn)

gdb是一個(gè)強(qiáng)大的調(diào)試工具,開發(fā)人員可以使用它來調(diào)試程序以查找并解決錯(cuò)誤。gdb支持?jǐn)帱c(diǎn)功能,即在程序運(yùn)行時(shí)中斷并停止執(zhí)行。閱讀本文,在不同...詳情>>

2023-11-21 12:57:05
Latex求和用法介紹

一、求和符號(hào)的使用Latex中求和符號(hào)是使用$\sum$表示,它用來表示一系列數(shù)值的總和。例如,要表示1到10的整數(shù)和:$$\sum_{i=1}^{10}i$$其中$\su...詳情>>

2023-11-21 12:31:53
如何有效地運(yùn)行WAR包

對(duì)于開發(fā)人員來說,將程序代碼打包成WAR包是很常見的需求。然而,在將WAR包發(fā)布到服務(wù)器上運(yùn)行時(shí),可能會(huì)遇到各種問題。本文將從多個(gè)方面對(duì)運(yùn)行...詳情>>

2023-11-21 12:06:41