一、前言

  要说readonly和disabled的区别,就需要先说说两者的联系;

  两个属性都可以作用于input等表单元素上,都使得元素成为“不可用”的状态

  两者的字面意义先介绍一下:

  readonly表示“只读”,一般表示对于文字内容只读,即不可更改内容,对于非文字的表单“只读”与“不只读”似乎没有啥区别;

  disabled表示“使残废,使无效”,都残废了,那还管你有没有文字内容,都得残掉。

  下面来介绍介绍两者的区别:

二、正文

  1. readonly和disabled作用元素的范围不同


    由上图可见,readonly并没有对input[type="button"]产生作用,按钮效果仍然在,并没有“不可用”;
    而disabled直接对input[type="button"]的按钮效果产生作用,导致按钮不可点击。

    那么两者的作用范围区别在哪呢?
    disabled属性可以作用于所有的表单元素。
    readonly属性只对<input type="text">、<input type="number">、<textarea>和<input type="password">等可以输入的表单元素有效。

  2. readonly和disabled对元素的作用程度不同

    //添加input===readonly
    document.write('<br/><br/><input type="number" name="number1" readonly="readonly" value="button" placeholder="123456">') //添加input===disabled
    document.write('<br/><br/><input type="number" name="number2" disabled="disabled" value="button" placeholder="123456">') //给input添加blur事件==边框变成红色===readonly
    document.querySelector("input[name='number1']").addEventListener("blur", function(){
    document.querySelector("input[name='number1']").style.cssText = "border: 1px solid red";
    }) //给input添加blur事件==边框变成红色===disabled
    document.querySelector("input[name='number2']").addEventListener("blur", function(){
    document.querySelector("input[name='number2']").style.cssText = "border: 1px solid red";
    })

    通过上面的测试可以知道,readonly属性只是将元素设置为只读,可以获取焦点、失去焦点。而disabled属性直接阻止对元素的一切操作。

    disabled属性阻止对元素的一切操作,例如获取焦点,点击事件等等。
    readonly属性只是将元素设置为只读,其他操作正常。

  3. readonly和disabled对表单提交的作用不同

    disabled属性可以让表单元素的值无法被提交。
    readonly属性则不影响提交问题。
    这个需要进行测试。。。

三、总结

  • readonly 属性规定输入字段为只读。

    只读字段是不能修改的。不过,用户仍然可以使用 tab 键切换到该字段,还可以选中或拷贝其文本。

    readonly 属性可以防止用户对值进行修改,直到满足某些条件为止(比如选中了一个复选框)。然后,需要使用 JavaScript 消除 readonly 值,将输入字段切换到可编辑状态。

    readonly 属性可与 <input type="text"> 或 <input type="password"> 配合使用。

  • disabled 属性规定应该禁用 input 元素。

    被禁用的 input 元素既不可用,也不可点击。可以设置 disabled 属性,直到满足某些其他的条件为止(比如选择了一个复选框等等)。然后,就需要通过 JavaScript 来删除 disabled 值,将 input 元素的值切换为可用。

    注释:disabled 属性无法与 <input type="hidden"> 一起使用。

css readonly和disabled的区别的更多相关文章

  1. Readonly和disabled的区别 display:none和visible:hidden的区别

    怎样使input中的内容为只读,也就是说不让用户更改里面的内容. <input type="text" name="input1" value=" ...

  2. 转:表单中Readonly和Disabled的区别(HTML中使用javascript解除禁止input输入框代)

    转:表单中Readonly和Disabled的区别 参考资料: disabled和readonly区别: 参考博文1地址:http://blog.csdn.net/symgdwyh/article/d ...

  3. 【转载】表单中 Readonly 和 Disabled 的区别

    今天写代码,遇到表单提交的问题,某个字段在不同的情况下,要传递不同的值进行赋值,试过一些方法都有些问题,后来请教前端同学,使用 disabled 这个属性终于搞定了问题,查到一篇讲解 readonly ...

  4. web基础----->readonly与disabled的区别

    readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,今天我们通过案例来学习一下. readonly和Disabled的区 ...

  5. 表单中Readonly和Disabled的区别(转载)

    Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: Readonly只针对input(text / pass ...

  6. Readonly和Disabled的区别

    readonly 把输入的字段设为只读,但是没有禁用 readonly=” readonly”; disabled 禁用一个input元素. disabled="disabled" ...

  7. 表单中Readonly和Disabled的区别(转)

    今天做form提交的时候,用到了disabled,form提交的时候怎么获取都是null,后来用hidden解决了这个问题,但是考虑到为什么,最后找到了原因,转载一篇文章,说明一下 原文:http:/ ...

  8. (网页)readonly和disabled的区别(转)

    转自脚本之家: 标签的readonly和disabled属性的区别: 在表单元素中,readonly和disable有类似之处,因为它们都可以将一些表单元素设置为"不可用"状态,当 ...

  9. readonly与disabled的区别

    一. 范围不同 readonly 只对 <input> 和 <textarea> 标签有效 disabled 对所有表单元素都有效, 包括:<input>, < ...

随机推荐

  1. bzoj 2597 [Wc2007]剪刀石头布——费用流

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2597 三个人之间的关系,除了“剪刀石头布”,就是有一个人赢了2局:所以考虑算补集,则每个人对 ...

  2. PHP应用的CI/CD流程实践与学习:一、PHP运行环境的准备

    前言:一直以来想学习与实践一下敏捷开发,之前项目虽说口口声声我们项目是敏捷开发,其实很扯. 敏捷开发如果有持续集成.持续部署的支持,那样开发.测试.运维将节省不少精力. 此系列博客只为记录CI/CD的 ...

  3. [转]nginx虚拟目录(alias与root的区别)

    今天配置awstats,awstats创建出的文件目录在/home/awstats下,在nginx中加入配置后狂报404,发现还是忽略了root和alias的区别,特将修改配置记录如下: 1.失败:s ...

  4. MySql触发器实现数据同步学习

    触发器实现:(增.删.改操作事件触发数据单向同步)数据库触发器教程:https://www.cnblogs.com/phpper/p/7587031.html同步代码: DELIMITER $ DRO ...

  5. 20165226 2017-2018-2《Java程序设计》课程总结

    目录 一.作业汇总 二.总结 三.问卷调查 一.作业汇总 预备作业1:我期望的师生关系 预备作业2:学习基础和C语言基础调查 预备作业3:linux安装及学习 第一周: Java入门 第一周学习总结 ...

  6. 分布式事务之:TCC (Try-Confirm-Cancel) 模式

    在当前如火如荼的互联网浪潮下,如何应对海量数据.高并发成为大家面临的普遍难题.广大IT公司从以往的集中式网站架构,纷纷转向分布式的网站架构,随之而来的就是进行数据库拆分和应用拆分,如何在跨数据库.跨应 ...

  7. nfs之脚气

    nfs工作模式参考 一.NFs是什么 NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. nfs为什么需要RPC ...

  8. 关于select的一个死循环

    #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <sys/sel ...

  9. SpingData 的学习

    Spring Data : Spring 的一个子项目,类似于Sping MVC 一样是Spring的另一个模块,所以还需要下载其jar ,它需要的jar有: spring-data-jpa-1.11 ...

  10. Java中的构造方法总结

    Java中的构造方法总结 时间: 2013-11-05 08:49 来源: 未知 作者: 站长部落 点击: 1752 次   今天写代码突然发现Java的构造方法也有不少说法呢,闲来无事,总结一下: ...