【发布时间】:2019-08-08 02:17:11
【问题描述】:
我有一个包含许多 <input> 元素的复杂表单,其中大部分我需要有条件地禁用(通过 AngularJS 来精确,但这个问题主要针对 HTML 方面)。
为了避免必须在每个元素上设置禁用属性,我将输入放入<fieldset> 并设置一次禁用属性。这会禁用所有包含的输入字段。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Fieldsets</title>
</head>
<body>
<form>
<fieldset disabled="true">
<input type="text" placeholder="first">
<input type="text" placeholder="second">
<!-- many, many more -->
<!-- trying to override here -->
<input type="text" placeholder="last" disabled="false">
</fieldset>
</form>
</body>
</html>
现在我需要做一些例外并保持启用一些输入,即使周围的<fieldset> 被禁用。我尝试通过设置disabled="false" 覆盖那里的属性,但这不起作用。
有什么优雅的方法可以覆盖 disabled 属性吗?
【问题讨论】:
-
CSS 在任何情况下都无法设置或取消设置
disabled属性,所以不行:您需要使用某种 JavaScript 来处理这个问题。 -
这不能在纯 HTML 或 CSS 中完成。如果你愿意找一个纯js或者jquery的解决方案那我可以帮你。
标签: html fieldset disabled-control