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

首頁 > 開發 > CSS > 正文

表單中Readonly和Disabled的區別詳解

2024-07-11 09:00:41
字體:
來源:轉載
供稿:網友

 這篇文章主要介紹了表單中Readonly和Disabled的區別詳解,十分的細致,全面,需要了解相關信息的小伙伴們快來仔細研究下吧

 
 

Readonly和Disabled是用在表單中的兩個屬性,它們都能夠做到使用戶不能夠更改表單域中的內容。但是它們之間有著微小的差別,總結如下:

Readonly只針對input(text / password)和textarea有效,而disabled對于所有的表單元素都有效,包括select, radio, checkbox, button等。

但是表單元素在使用了disabled后,當我們將表單以POST或GET的方式提交的話,這個元素的值不會被傳遞出去,而readonly會將該值傳遞出去(這種情況出現在我們將某個表單中的textarea元素設置為disabled或readonly,但是submit button卻是可以使用的)。

一般比較常用的情況是:

在某個表單中為用戶預填了某個唯一識別代碼,不允許用戶改動,但是在提交時需要傳遞該值,此時應該將它的屬性設置為readonly。

經常遇到當用戶正式提交了表單后需要等待管理員的信息驗證,這就不允許用戶再更改表單中的數據,而是只能夠查看,由于disabled的作用元素范圍大,所以此時應該使用disabled,但同時應該注意的是要將submit button也disabled掉,否則只要用戶按了這個按鈕,如果在數據庫操作頁面中沒有做完整性檢測的話,數據庫中的值就會被清除。

如果說在這種情況下用readonly來代替disabled的話,若表單中只有input(text/password)和textarea元素,那還是可以的,如果存在其他發元素,比如select,用戶可以在重新改寫值后按回車鍵進行提交(回車是默認的submit觸發按鍵)。

我們常常在用戶按了提交按鈕后,利用javascript將提交按鈕disabled掉,這樣可以防止網絡條件比較差的環境下,用戶反復點提交按鈕導致數據冗余地存入數據庫。

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

如果一個輸入項的disabled設為true,則該表單輸入項不能獲取焦點,用戶的所有操作(鼠標點擊和鍵盤輸入等)對該輸入項都無效,最重要的一點是當提交表單時,這個表單輸入項將不會被提交。

而readonly只是針對文本輸入框這類可以輸入文本的輸入項,如果設為true,用戶只是不能編輯對應的文本,但是仍然可以聚焦焦點,并且在提交表單的時候,該輸入項會作為form的一項提交。

小技巧:diabled可用readonly代替,background-color:#cccccc;加上灰色背景色就可以。

 

代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="get" action="">
<input name="q1" type="text" id="q1" value="readonly" readonly="true" />
<input name="q2" type="text" disabled="disabled" id="q2" value="disabled" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>

 

input的字段當為diabled時時無法獲取數值得,所以最近不要用這個,我們可以用readonly帶替代,即可解決這類問題。

 

代碼如下:

<input name="nowamagic" id="nowamagic" size="12" value="disabled" disabled="disabled">

 

放在form表單中提交后得不到該值。

將disabled="disabled" 改為 readonly = "readonly" 即可 ,按照W3C的規范:http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.12

設置為disabled的input將會有下面的限制:

不能接收焦點

使用tab鍵時將被跳過

可能不是successful的

設置為readonly的input將會有下面的限制:

可以接收焦點但不能被修改

可以使用tab鍵進行導航

可能是successful的

只有successful的表單元素才是有效數據,也即是可以進行提交。disabled和readonly的文本輸入框只能通過腳本進行修改value屬性。

這兩個屬性在效果和使用上的區別:

readonly是要鎖定這個控件,通過在界面上無法修改他(但是通過javascript可以修改他)。

disabled和readonly有相同的地方也是可以鎖定這個控件用戶不能改變他的值,但是disabled的更徹底一些,他是要使你完全不能使用他,包括改變他的背景顏色(不信,你去修改一個被disabled掉的input文本框,你發現你是徒勞),如果是checkbox則不能選中他。

所有控件都有disabled 屬性,但是不一定有readonly屬性,如select 下拉框。點擊被readonly掉的按鈕照樣可以觸發事件,但是被disabled掉的按鈕就無法使用了不管上面有沒有事件。

將div設置disabled屬性之后,整個div都灰掉了,但是文本框里面還是可以輸入內容的。注意:select下拉選擇框是沒有readonly屬性的

大家仔細想一下會有一個問題出現,就是有時候我們寫程序的時候,比如一個購買商品的頁面,我們可以在上面輸入商品的數量,但是價格我們設置成只讀的,最后下面有一個總價格就是 數量 * 只讀的價格,那么我們很可能就是這樣做的,在后臺的時候讀取 商品數量的 textbox值,然后讀取 價格的textbox的值,然后兩者的積 作為總金額 uodate到數據庫中去了,如果客戶端的用戶和我們一樣是一個會點程序的小程序員,那么麻煩就有可能來拉,他可以查看源文件,查看到被readonly的價格的文本框的id或者是name什么的,然后在瀏覽器中輸入腳本去改變價格的值,然后點提交,那么這個小程序員就可以隨便怎么給自己打折都不過份啊。

我們將表單的提交方法設置成get提交,我們就可以在url里面看到提交的內容,發現被設置成disabled的控件沒有提交到服務器,readonly的提交數據到服務器了。

關于用js控制disabled和readonly的問題,下面是一段參考代碼:

 

代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>
<body>
<form enctype="multipart/form-data" action="sign.php" method="post" name="moblie_act_form" id="moblie_act_form" >
<input type="text" class="input" id="mobile" name="mobile" value="{$mobile}" readonly="true" disabled="disabled">
<input type="button" value="修改" onClick="modify_phone()">
</form>
</html>
<script language="javascript">
function modify_phone(){
if(confirm("您確定要修改您的手機號碼嗎?")){
document.moblie_act_form.mobile.readOnly = false;
document.moblie_act_form.mobile.disabled = false;
}
return true;
}
</script>
</body>
</html>

 

以上就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产丝袜另类| 国产成人精品久久二区二区| 久久精品青青大伊人av| 国模精品一区二区三区色天香| 国产欧美一区二区三区在线| 精品视频—区二区三区免费| 91久热免费在线视频| 精品中文字幕视频| 亚洲欧美在线x视频| 欧美成人免费在线观看| 亚洲第一网中文字幕| 国产欧美精品在线播放| 欧美日韩加勒比精品一区| 亚洲天堂成人在线视频| 亚洲欧美精品中文字幕在线| 亚洲人成网站777色婷婷| 亚洲va欧美va在线观看| 亚洲伊人久久综合| 中文字幕欧美日韩va免费视频| 亚洲成av人片在线观看香蕉| 亚洲国产精品久久精品怡红院| 国产91|九色| 乱亲女秽乱长久久久| 亚洲精品一区在线观看香蕉| 国产一区二区美女视频| 久久精品青青大伊人av| 亚洲视频在线视频| 91精品国产亚洲| 欧美精品免费看| 亚洲日韩中文字幕在线播放| 性欧美在线看片a免费观看| 欧美有码在线观看视频| 国产在线a不卡| 97激碰免费视频| 国产日产欧美a一级在线| 日韩av网站导航| 国产精品99久久久久久www| 欧美成人h版在线观看| 国产精品久久国产精品99gif| 日韩中文在线不卡| 欧美午夜宅男影院在线观看| 精品美女国产在线| 亚洲va欧美va在线观看| 91久久国产综合久久91精品网站| 在线视频日本亚洲性| 成人久久精品视频| 亚洲日本aⅴ片在线观看香蕉| 91国内在线视频| 日韩精品免费综合视频在线播放| 日韩色av导航| 国产精品视频白浆免费视频| 性欧美长视频免费观看不卡| 成人久久18免费网站图片| 日韩大胆人体377p| 国产精品白丝av嫩草影院| 日韩成人xxxx| 亚洲精品小视频在线观看| 国产精品久久久久久久久久东京| 91网站在线看| 日韩成人av在线| 欧美性xxxx| 色www亚洲国产张柏芝| 97色在线视频| 国模gogo一区二区大胆私拍| 国产z一区二区三区| 中国日韩欧美久久久久久久久| 亚洲欧美色婷婷| 欧美另类在线观看| 亚洲精品久久久一区二区三区| 欧美亚洲日本黄色| 日韩av男人的天堂| 久久精视频免费在线久久完整在线看| 欧美性xxxx极品高清hd直播| 5566日本婷婷色中文字幕97| 亚洲视频在线免费观看| 91中文在线观看| 91精品国产自产在线观看永久| 国内外成人免费激情在线视频| 九九九久久国产免费| 久久久亚洲国产| 精品自在线视频| 中文字幕欧美日韩va免费视频| 久久久日本电影| 欧美日韩中文字幕综合视频| 欧洲精品在线视频| 国产精品视频自在线| 人人爽久久涩噜噜噜网站| 97在线视频精品| 久久中文字幕视频| 韩曰欧美视频免费观看| 日韩高清中文字幕| 韩国一区二区电影| 久久综合久久美利坚合众国| 欧洲精品毛片网站| 国产99久久精品一区二区 夜夜躁日日躁| 欧美性猛交xxxx富婆| 福利二区91精品bt7086| 亚洲欧美综合v| 久久久久久午夜| 久久国产视频网站| 97av在线影院| 日韩精品视频观看| 日韩国产激情在线| 亚洲毛片一区二区| 亚洲精品91美女久久久久久久| www.欧美三级电影.com| 7777免费精品视频| 欧美视频不卡中文| 日产精品久久久一区二区福利| 国产精品三级美女白浆呻吟| 91在线精品播放| 欧美亚洲伦理www| 国产免费一区二区三区在线能观看| 欧美与黑人午夜性猛交久久久| 久久成年人免费电影| 宅男66日本亚洲欧美视频| 久久6精品影院| 亚洲国产精品va在线看黑人| 91国内在线视频| 久久躁日日躁aaaaxxxx| 亚洲成人av片在线观看| 日本a级片电影一区二区| 欧美精品一区在线播放| 亚洲精品免费av| 操日韩av在线电影| 一个色综合导航| 亚洲尤物视频网| 亚洲电影免费观看高清| 欧洲成人免费aa| 欧美极品少妇xxxxⅹ裸体艺术| 性欧美xxxx视频在线观看| 亚洲精品v天堂中文字幕| 性欧美办公室18xxxxhd| 久久偷看各类女兵18女厕嘘嘘| 久久久精品亚洲| 日韩精品久久久久久久玫瑰园| 欧美日韩中文在线| 97人人爽人人喊人人模波多| 亚洲精品久久久久中文字幕欢迎你| 高清欧美性猛交xxxx| 91亚洲精品在线| 一本色道久久综合狠狠躁篇的优点| 一本一本久久a久久精品牛牛影视| 日韩一区二区三区在线播放| 中文字幕日韩在线观看| 亚洲欧美成人一区二区在线电影| 久久综合久久88| 欧美大片大片在线播放| 成人性生交xxxxx网站| 欧美性生交xxxxxdddd| 国产精品福利观看| 成人免费淫片视频软件| 九九精品在线视频| 91精品国产色综合久久不卡98| 国产色视频一区| 国产69精品久久久久9| 亚洲精品在线视频| 欧美猛少妇色xxxxx| 国产精品私拍pans大尺度在线| 日韩第一页在线| 欧美午夜精品久久久久久人妖| 久久人人爽人人爽人人片av高清| 精品成人国产在线观看男人呻吟| 尤物九九久久国产精品的分类|