小编典典

HTML 表单输入字段的 disabled="disabled" 和 readonly="readonly" 有什么区别?

all

我已经阅读了一些关于此的内容,但我似乎找不到任何关于不同浏览器如何处理事物的可靠信息。


阅读 122

收藏
2022-03-13

共1个答案

小编典典

一个readonly元素是不可编辑的,但在相应的form提交时被发送。disabled元素不可编辑,也不会在提交时发送。另一个区别是readonly元素可以聚焦(并且在通过表单“切换”时获得聚焦)而disabled元素不能。

在这篇精彩的文章w3c
的定义
中阅读更多相关信息。引用重要部分:

主要区别

禁用属性

  • 禁用的表单元素的值不会传递给处理器方法。W3C 称这是一个成功的元素。(这类似于未选中的表单复选框。)
  • 某些浏览器可能会覆盖或为禁用的表单元素提供默认样式。(灰色或浮雕文本)Internet Explorer 5.5 对此特别讨厌。
  • 禁用的表单元素不会获得焦点。
  • 在选项卡导航中跳过禁用的表单元素。

只读属性

  • 并非所有表单元素都具有只读属性。最值得注意的是<SELECT><OPTION>
    <BUTTON>元素没有只读属性(尽管它们都有禁用属性)
  • 浏览器不提供表单元素是只读的默认覆盖视觉反馈。(这可能是个问题——见下文。)
  • 带有只读属性集的表单元素将被传递给表单处理器。
  • 只读表单元素可以接收焦点
  • 只读表单元素包含在选项卡式导航中。
2022-03-13