readonly和disabled的区别
readonly和disabled它们都能够做到使用户不能更改表单域中的内容,但是他们直接存在着微小的差别,总结如下
Readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素都有效,但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readyonly将改值传递出去(readyonly接受值更改可以回传,disable接受改但不回传数据)
disabled和readyonly这两个有一些共同之处,比如都设为true,则form属性将不能编辑,往往在写js代码的时候容易混合使用这两个属性,其实他们之间有一定区别的:
1.如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点当提交表单时。这个表单输入项将不会被提交
2、而readyonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交
小结:
readonly 不可编辑,可以获得焦点,背景颜色默认灰色,值的字体颜色默认为灰色,值可以在请求中传递
disabled 不可编辑,不可以获得焦点,背景颜色默认灰色,值的字体颜色默认为灰色,值不可以在请求中传递;
为了使值不可修改,但显示为disabled的样式,且可以在请求中传递,则可以通过采用readonly,修改字体颜色来实现