有没有办法(使用属性标志或类似的东西)来启用禁用提交数据的表单字段?
或者,如果这不可能,是否有任何方法可以阻止字段使用 css 或任何其他属性进行编辑,而不是禁用而不隐藏它们?
我目前的特殊情况是应该以表单(不可编辑)显示的数据集的标识符 - 如果没有更好的解决方案,我认为除了禁用的字段之外,我将使用隐藏字段来保存实际值与禁用的一个显示它。
有没有办法(使用属性标志或类似的东西)来启用禁用提交数据的表单字段?
或者,如果这不可能,是否有任何方法可以阻止字段使用 css 或任何其他属性进行编辑,而不是禁用而不隐藏它们?
我目前的特殊情况是应该以表单(不可编辑)显示的数据集的标识符 - 如果没有更好的解决方案,我认为除了禁用的字段之外,我将使用隐藏字段来保存实际值与禁用的一个显示它。
As it was already mentioned: READONLY
does not work for <input type='checkbox'>
and <select>...</select>
.
If you have a Form
with disabled checkboxes / selects AND need them to be submitted, you can use jQuery:
$('form').submit(function(e) {
$(':disabled').each(function(e) {
$(this).removeAttr('disabled');
})
});
This code removes the disabled
attribute from all elements on submit.
在要“禁用”(可能与灰色背景一起)的字段上使用 CSS pointer-events:none 以允许 POST 操作,例如:
<input type="text" class="disable">
.disable{
pointer-events:none;
background:grey;
}
参考:https ://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
我们还可以将只读属性与以下属性一起使用 -
只读 onclick='return false;'
这是因为如果我们只使用只读,那么单选按钮将是可编辑的。为了避免这种情况,我们可以将 readonly 与上述组合一起使用。它将限制编辑,并且元素的值也将在表单提交期间传递。
将 CSS 或类添加到在 select 和 text 标签中工作的输入元素,如
样式="指针事件:无;背景颜色:#E9ECEF"