Readonly和Disabled的區(qū)別
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
Readonly和Disabled是用在表單中的兩個(gè)屬性,它們都能夠做到使用戶不能夠更改表單域中的內(nèi)容。但是它們之間有著微小的差別,我在實(shí)踐中得到了一些規(guī)律,總結(jié)如下:
Readonly只針對input(text / password)和textarea有效,而disabled對于所有的表單元素都有效,包括select, radio, checkbox, button等。但是表單元素在使用了disabled后,當(dāng)我們將表單以POST或GET的方式提交的話,這個(gè)元素的值不會被傳遞出去,而readonly會將該值傳遞出去(這種情況出現(xiàn)在我們將某個(gè)表單中的textarea元素設(shè)置為disabled或readonly,但是submit button卻是可以使用的)。 一般比較常用的情況是: ①在某個(gè)表單中為用戶預(yù)填了某個(gè)唯一識別代碼,不允許用戶改動(dòng),但是在提交時(shí)需要傳遞該值,此時(shí)應(yīng)該將它的屬性設(shè)置為readonly ②經(jīng)常遇到當(dāng)用戶正式提交了表單后需要等待管理員的信息驗(yàn)證,這就不允許用戶再更改表單中的數(shù)據(jù),而是只能夠查看,由于disabled的作用元素范圍大,所以此時(shí)應(yīng)該使用disabled,但同時(shí)應(yīng)該注意的是要將submit button也disabled掉,否則只要用戶按了這個(gè)按鈕,如果在數(shù)據(jù)庫操作頁面中沒有做完整性檢測的話,數(shù)據(jù)庫中的值就會被清除。如果說在這種情況下用readonly來代替disabled的話,若表單中只有input(text / password)和textarea元素,那還是可以的,如果存在其他發(fā)元素,比如select,用戶可以在重新改寫值后按回車鍵進(jìn)行提交(回車是默認(rèn)的submit觸發(fā)按鍵) ③我們常常在用戶按了提交按鈕后,利用javascript將提交按鈕disabled掉,這樣可以防止網(wǎng)絡(luò)條件比較差的環(huán)境下,用戶反復(fù)點(diǎn)提交按鈕導(dǎo)致數(shù)據(jù)冗余地存入數(shù)據(jù)庫。 該文章在 2011/3/10 0:59:09 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |