input不可编辑(input输入框不可编辑)
input元素经常在我们的网页中使用,常见的属性有type、name、id、value等。但是,有两种属性却经常被混淆或者不了解其功能,那就是readonly和disabled。
1、readonly属性
input元素的readonly属性表示元素只读,即用户不能编辑该输入框中的内容。readonly属性可以直接在html中设置,也可以通过JavaScript动态设置。
readonly属性一般用于一些数据展示页面,比如用户的个人信息展示页面,用户只能看信息,不能修改信息。readonly属性的输入框可以被选中,也可以被copy,但是不能被修改、删除、剪切。
2、disabled属性
input元素的disabled属性表示元素禁用,即用户无法编辑且无法参与表单提交。disabled属性也可以直接在html中设置,也可以通过JavaScript动态设置。
disabled属性一般用于一些表单中用户不需要或不能填写的部分。例如,一个下拉选择框,如果用户一开始没有选择,就让其处于禁用状态,等待用户选择后才解禁。
3、readonly与disabled的区别
在实现效果上,readonly和disabled的差别在于:readonly属性下的input输入框可以被选中,也可以被复制到剪切板中,但用户不能编辑,只能读取其中内容;而在disabled属性下,输入框无法被选中、复制、编辑和提交表单。
在实际使用中,我们需要根据具体的需求和使用场景来选择使用readonly还是disabled。
4、readonly与disabled的JS动态设置
使用JavaScript动态设置readonly和disabled属性,只需选择元素并使用setAttribute()方法进行设置即可。例如:
document.getElementById("myInput").setAttribute("readonly","readonly");
使用JavaScript动态设置readonly属性时,需要注意的是,readonly属性的值为”readonly”,与html中的”readonly”属性值相同,而不是Boolean型的true或false。
5、readonly与disabled的兼容性问题
readonly和disabled属性在主流浏览器中都得到了很好的支持。但是,在IE9以下的版本中,readonly属性需要配合一个JavaScript脚本才能实现效果。具体来说,需要在readonly的input元素上增加一段javascript代码:
onfocus="this.blur()"
这样,在IE9以下的版本中,readonly属性的输入框才会达到和其他浏览器一样的效果。
而disabled属性在IE7以下的版本中并不支持。如果需要在早期版本的IE中实现类似disabled的效果,需要使用JavaScript进行替换。
总的来说,readonly和disabled属性的兼容性不是大问题,但是在IE7及以下版本的浏览器中需要特殊处理。
总结:
readonly和disabled属性都是用于限制input输入框使用的。readonly表示可以选中、复制,但不可编辑;disabled表示不可选中、不可复制、不可编辑、不可提交表单。在实际应用中,可以根据具体需求进行选择。JavaScript设置时,readonly属性的值为”readonly”,disabled属性为true或false。在IE9以下的版本中,readonly属性需要增加一段JavaScript代码,disabled属性在IE7以下的版本中不支持。
本文链接:http://www.quarkradio.com/n/1159492.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。