【发布时间】:2025-11-30 13:15:02
【问题描述】:
我想显示一个单选按钮,提交它的值,但根据具体情况,它是否不可编辑。 Disabled 不起作用,因为它不提交值(或者提交了?),并且它使单选按钮变灰。只读是我真正想要的,但由于某种神秘的原因它不起作用。
我是否需要使用一些奇怪的技巧才能使只读模式按预期工作?我应该只用 JavaScript 来做吗?
顺便说一句,有谁知道为什么只读在单选按钮中不起作用,而在其他输入标签中起作用?这是 HTML 规范中那些难以理解的遗漏之一吗?
【问题讨论】:
-
“这是 HTML 规范中那些难以理解的遗漏之一吗?”从用户的角度考虑。为什么要显示他们无法点击的按钮?
-
为什么要显示一个他们不能点击的按钮?因为我希望他们知道按钮在那里,但我不希望他们现在能够单击它。但也许以后。毕竟,这是一种动态形式。为什么单选按钮与任何其他输入字段有任何不同?
-
这里是规范:w3.org/TR/html401/interact/forms.html#h-17.12.2 "以下元素支持只读属性:INPUT 和 TEXTAREA。"这显然是错误的。但是,回到这里,我们看到了更准确的摘要:w3.org/TR/WD-forms-970402#readonly“READONLY 适用于 TEXT 或 PASSWORD 类型的 INPUT 元素以及 TEXTAREA 元素。”看起来这已经在记录和规格的差距之间滑动了。
-
更加好奇。根据这个古老的文档“例如,在复选框中,您可以打开或关闭它们(从而设置 CHECKED 状态),但您不会更改字段的值。” (htmlcodetutorial.com/forms/_INPUT_DISABLED.html)这是真的吗?即使用户显然可以更改它,在复选框/单选上设置 READONLY 是否会锁定该值?
-
查看我的帖子 [这里][1] 为问题 [1] 提供了一个干净简单的解决方案:*.com/a/15513256/1861389
标签: html radio-button readonly