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,否则这些项是不会提交到后台的。