当前位置: 首页 > article >正文

前端表单中 `readOnly` 和 `disabled` 属性的区别

前端表单中 readOnlydisabled 属性的区别

定义与适用范围
  • readOnly 是一种属性,仅适用于 <input><textarea> 元素。当设置了此属性时,用户无法修改这些元素的内容,但仍能聚焦并选中文本。
  • disabled 则是一个更广泛的属性,可以应用于所有的表单控件(如 <input>, <textarea>, <button>, <select> 等)。一旦设置为 disabled,该元素不仅变得不可编辑,还完全失去交互能力,包括获取焦点和触发事件的能力。
功能差异
  • 可操作性

    • 使用 readOnly 的表单元素依然能够被激活(获得键盘输入焦点),这意味着可以通过鼠标点击或 Tab 键导航到这个字段,并复制其中的数据。
    • 而标记为 disabled 的组件则彻底失效,既不能接受任何形式的用户输入,也无法响应诸如点击之类的动作。
  • 表单提交行为

    • 如果一个表单项具有 readOnly 属性,在表单提交过程中会正常传递其值给服务器处理。
    • 相反地,如果某项设定了 disabled ,那么即使存在默认值或者其他预填充的信息,也不会随同其他有效的表单数据一同发送出去。
外观表现

尽管两者都能阻止用户的直接改动,但在视觉呈现方面可能存在细微差别:

  • 浏览器可能会自动调整样式以反映状态变化——比如灰色化已禁用区域或将只读域保持原样以便区分它们的功能角色;
    然而具体效果取决于实际使用的浏览器以及开发者定义CSS规则的影响程度。

以下是简单的HTML代码示例展示了这两种情况下的基本用法:

<form action="/example"><!-- ReadOnly Input --><label for="username">Username:</label><input id="username" name="username" type="text" value="JohnDoe" readonly><!-- Disabled Button --><button type="submit" disabled>Submit</button>
</form>

http://www.lryc.cn/news/2385409.html

相关文章:

  • 【日志软件】hoo wintail 的替代
  • OceanBase数据库全面指南(基础入门篇)
  • 异步处理与事件驱动中的模型调用链设计
  • redis配置带验证的主从复制
  • Ollama-OCR:基于Ollama多模态大模型的端到端文档解析和处理
  • OpenCV CUDA 模块中图像过滤------创建一个拉普拉斯(Laplacian)滤波器函数createLaplacianFilter()
  • 图论学习笔记 3
  • 在单片机中如何在断电前将数据保存至DataFlash?
  • 【将WPS设置为默认打开方式】--突然无法用WPS打开文件
  • 电子人的分水岭-FPGA模电和数电
  • (6)python爬虫--selenium
  • Python之两个爬虫案例实战(澎湃新闻+网易每日简报):附源码+解释
  • HarmonyOS NEXT~鸿蒙系统与mPaaS三方框架集成指南
  • 系统安全及应用学习笔记
  • STC89C52RC/LE52RC
  • ✨ PLSQL卡顿优化
  • yum命令常用选项
  • python+vlisp实现对多段线范围内土方体积的计算
  • 鸿蒙Flutter实战:25-混合开发详解-5-跳转Flutter页面
  • APM32小系统键盘PCB原理图设计详解
  • 【C/C++】多线程开发:wait、sleep、yield全解析
  • uint8_t是什么数据类型?
  • SystemUtils:你的Java系统“探照灯“——让环境探测不再盲人摸象
  • 对象存储(Minio)使用
  • yolov11使用记录(训练自己的数据集)
  • 历史数据分析——宁波港
  • 知识宇宙:技术文档该如何写?
  • DeepSeek 赋能数字农业:从智慧种植到产业升级的全链条革新
  • 技嘉主板怎么开启vt虚拟化功能_技嘉主板开启vt虚拟化教程(附intel和amd开启方法)
  • Java 并发编程高级技巧:CyclicBarrier、CountDownLatch 和 Semaphore 的高级应用