使用 disabled 属性可禁用表单元素,使其无法交互且不参与提交,常用于 input、textarea、select、button 等控件,通过添加或移除该属性可动态控制状态,配合 JavaScript 实现交互逻辑,但需注意其值不会被提交,若需保留值应使用 readonly,同时考虑无障碍访问提示。

在HTML中,可以通过 disabled 属性来禁用表单元素。被禁用的控件无法被用户点击、编辑或提交,并且在大多数浏览器中会显示为灰色状态,提示用户该控件当前不可用。
使用 disabled 属性禁用表单控件
只需在表单元素(如 input、textarea、select、button 等)上添加 disabled 属性,即可将其禁用。该属性是一个布尔属性,只要存在,无论是否有值,都会生效。
常见可禁用的表单元素包括:- input(文本框、单选框、复选框等)
- textarea
- select 和 option
- button
- fieldset
示例代码:
disabled 属性的行为特点
理解 disabled 属性的关键行为有助于正确使用:
立即学习“前端免费学习笔记(深入)”;
- 被禁用的表单控件不会被包含在表单提交的数据中
- 用户不能与禁用的控件进行交互(无法聚焦、输入或选择)
- 样式上通常表现为半透明或灰色外观
- 可以动态通过 JavaScript 添加或移除 disabled 属性
通过 JavaScript 控制禁用状态
除了静态设置,还可以使用 JavaScript 动态控制元素的禁用状态。
示例:启用/禁用输入框
也可以通过 setAttribute 和 removeAttribute 方法操作:
// 禁用
input.setAttribute('disabled', '');
// 启用
input.removeAttribute('disabled');
注意事项
使用 disabled 属性时需注意以下几点:
- 即使设置了 value,disabled 元素的值也不会随表单提交
- 如果需要提交但不让用户修改,应使用 readonly 而不是 disabled
- fieldset 上使用 disabled 会禁用其内部所有表单控件
- 屏幕阅读器通常会忽略 disabled 元素,影响无障碍访问,需合理设计提示信息
基本上就这些。合理使用 disabled 属性能有效控制用户交互流程,提升表单可用性。











