有没有办法(带有属性标志或类似的东西)启用已禁用的表单字段以提交数据?
如果不可能的话,有没有办法使用CSS或其他属性来阻止字段编辑而不隐藏它们?
我目前遇到的特殊情况是数据集的标识符应该显示在表单中(不可编辑) - 如果没有更好的解决方案,我想我会在禁用的字段之外使用一个隐藏的字段来保存实际值,并使用禁用的字段来显示它。
有没有办法(带有属性标志或类似的东西)启用已禁用的表单字段以提交数据?
如果不可能的话,有没有办法使用CSS或其他属性来阻止字段编辑而不隐藏它们?
我目前遇到的特殊情况是数据集的标识符应该显示在表单中(不可编辑) - 如果没有更好的解决方案,我想我会在禁用的字段之外使用一个隐藏的字段来保存实际值,并使用禁用的字段来显示它。
正如已经提到的: READONLY
对于 <input type='checkbox'>
和 <select>...</select>
不起作用。
如果您有一个带有禁用复选框/选择框且需要提交它们的表单,您可以使用jQuery:
$('form').submit(function(e) {
$(':disabled').each(function(e) {
$(this).removeAttr('disabled');
})
});
这段代码在提交时从所有元素中移除了 disabled
属性。
$(':disabled')
更改为 $('input[type="checkbox"]:disabled')
。 - Daniel Butler对于想要“禁用”的字段,可以使用CSS pointer-events:none(可能与灰色背景一起使用),这允许POST操作,例如:
<input type="text" class="disable">
.disable{
pointer-events:none;
background:grey;
}
参考: https://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events
该CSS属性定义了元素是否应响应指针事件,例如鼠标点击或悬停。如果设置为“none”,则元素将不响应这些事件,而是将它们传递到下面的元素。此属性对于创建网页布局和用户交互非常有用。readonly
属性代替 disabled
属性来保留 <input>
数据是一种非常优雅的解决方案! - Nik在选择和文本标签中添加CSS或类到输入元素,如
style="pointer-events: none;background-color:#E9ECEF"