是否有任何方法(使用属性标志或类似的东西)来启用禁用提交数据的表单字段?
或者,如果这是不可能的,有没有任何方法来阻止编辑字段的 css 或任何其他属性,而不是禁用隐藏它们?
目前我的特殊情况是一个数据集的标识符应该以表单的形式显示(不可编辑)-如果没有更好的解决方案,我想我会使用一个隐藏的字段除了禁用的一个来保存实际值,禁用的一个显示它。
如前所述: READONLY不适用于 <input type='checkbox'>和 <select>...</select>。
READONLY
<input type='checkbox'>
<select>...</select>
如果你有一个 Form复选框/选择禁用并且需要提交它们,你可以使用 jQuery:
Form
$('form').submit(function(e) { $(':disabled').each(function(e) { $(this).removeAttr('disabled'); }) });
此代码在提交时从所有元素中删除 disabled属性。
disabled
使用 CSS 指针事件: 在您想要“禁用”(可能与灰色背景一起)的字段上没有允许 POST 操作的指针事件,如:
<input type="text" class="disable"> .disable{ pointer-events:none; background:grey; }
档号: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
我们也可以只使用以下属性的 readonly-
Readonly onclick = ‘ return false;’
这是因为如果我们只使用 readonly,那么单选按钮将是可编辑的。为了避免这种情况,我们可以使用只读和上面的组合。它将限制编辑,元素的值也将在表单提交期间传递。
将 CSS 或类添加到输入元素中,该元素在 select 和 text 标记中起作用,如
Style =”指针事件: 无; 背景色: # E9ECEF