题
我有一个形式,我需要禁用一系列复选框和几个字段,以便用户不能更改/更改其值。但是,当我提交表格时,残疾元素的帖子值丢失/null。如果没有这个问题,我该如何管理我要做的事情?
现在,我是通过这样禁用容器Div来禁用字段的:
#unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
-webkit-user-select: none;
cursor:not-allowed;
}
解决方案
好吧,我能想到的三种解决方案:
- 使他们
readonly
通过添加readonly
属性到元素。 - 在CSS/JavaScript中禁用它们。像残疾人一样上色,不允许使用JavaScript进行编辑,
- 将其禁用,并在提交时删除禁用的。
选择:)
其他提示
您可以使用 readonly
代替 disabled
对于用户而言,Wich几乎是相同的(不能被编辑),但是 readonly
- 元素在 disabled
没有。
请注意有 其他一些差异 在阅读和残疾人之间可能会给您带来其他问题:
禁用属性
- 禁用表单元素的值未传递给处理器方法。 W3C称其为成功的元素。(这类似于未检查的表单复选框。)
- 一些浏览器可能会覆盖或为残疾表单元素提供默认样式。 (灰色或浮雕文本)Internet Explorer 5.5对此特别讨厌。
- 残疾表单元素没有得到焦点。
- 禁用表单元素在标签导航中跳过。
仅读取属性
- 并非所有表单元素都有一个可读的属性。最值得注意的是,该元素没有可读的属性(尽管您都有残疾属性)
- 浏览器不提供仅读取表单元素的默认覆盖视觉反馈。 (这可能是一个问题……请参见下文。)
- 带有ReadOnly属性集的表单元素将传递给表单处理器。
- 仅阅读形式元素可以接收焦点
- 读取仅包含表单元素。
将相同的数据发送到和来回没有什么意义。
只是留在 服务器端 然后在提交时使用它。
此外,假设
用户无法更改/更改其值。
很愚蠢。
您可以使用“只读”而不是残疾,这应该具有通缉效果
您还可以使用JavaScript提交您的表格,并预先提交Undisable(启用:P)各个字段?
不隶属于 StackOverflow