Readonly只針對input(text / password)和textarea有效,而disabled對於所有的表單元素都有效,包括select, radio, checkbox, button等。
共同點:都不能編輯和獲取焦點。
不同點:
readonly:使用表單post或get傳遞時會被傳遞出去。
disabled:使用表單post或get傳遞時不會被傳遞出去。
但是readonly的顯示效果是沒有灰化的。
所有控件都有disabled 屬性,但是不一定有readonly屬性;點擊被readonly掉的按鈕照樣可以觸發事件,但是被disabled掉的按鈕就無法使用了不管上面有沒有事件。
在很多情況下,我們的增加、修改、查看一般使用同一個頁面,這就會產生一個需求,那就是查看頁面中的數據和修改頁面的一些項一般是禁止用戶輸入和修改表單數據的,
一般情況下,我們可以使用readonly來實現一般的text,input框的禁止輸入
特殊情況:部分表單不能修改(這些不能修改的表單包括沒有readonly屬性,如:select, radio, checkbox),我們可以先將這些項設置成disabled,在表單提交之前設置disabled設置成false,否則這些項是不會提交到後臺的。