HTMLButtonElement - 操作 <button> 元素
HTMLButtonElement 接口提供了特殊属性(除了从常规 HTMLElement 接口继承的属性),用于操作 <button> 元素。
属性
从其父类 HTMLElement 继承了属性。
HTMLButtonElement.accessKey
一个 DOMString,表示用于访问按钮的单字符键盘键。
HTMLButtonElement.autofocus
一个 Boolean,指示控件在页面加载时是否应该具有输入焦点,除非用户覆盖它,例如通过键入不同的控件。文档中只有一个与表单相关的元素可以指定该属性。
HTMLButtonElement.disabled
一个 Boolean,表示控件是否被禁用,这意味着它不接受任何点击。
HTMLButtonElement.form 只读
一个 HTMLFormElement,反映与该按钮关联的表单。如果按钮是表单元素的后代,则该属性是该表单元素的 ID。
如果该按钮不是表单元素的后代,则该属性可以是与其相关的同一文档中的任何表单元素的 ID,如果没有匹配,则为 null 值。
HTMLButtonElement.formAction
一个 DOMString,它反映了处理按钮提交的信息的资源的 URI。如果指定,则该属性将覆盖拥有该元素的 <form> 元素的 action 属性。
HTMLButtonElement.formEnctype
一个 DOMString,反映了用于将表单提交到服务器的内容类型。如果指定,则该属性将覆盖拥有该元素的 <form> 元素的 enctype 属性。
HTMLButtonElement.formMethod
一个 DOMString,反映了浏览器用于提交表单的 HTTP 方法。如果指定,则该属性将覆盖拥有该元素的 <form> 元素的 method 属性。
HTMLButtonElement.formNoValidate
一个 Boolean,表示在提交表单时不对其进行验证。如果指定,则该属性将覆盖拥有该元素的 <form> 元素的 novalidate 属性。
HTMLButtonElement.formTarget
一个 DOMString,反映了一个名称或关键字,指示在提交表单后显示收到的响应的位置。如果指定,则该属性将覆盖拥有该元素的 <form> 元素的 target 属性。
HTMLButtonElement.labels 只读
一个 NodeList,它表示作为该按钮标签的 <label> 元素的列表。
HTMLButtonElement.menu
一个 HTMLMenuElement,表示当 type="menu" 时,单击按钮显示的菜单元素。
HTMLButtonElement.name
一个 DOMString,表示使用表单提交时对象的名称。如果是 HTML5,则它不能是空字符串。
HTMLButtonElement.tabIndex
一个 long,表示该元素在 Tab 键顺序中的位置。
HTMLButtonElement.type
一个 DOMString,表示按钮的行为。这是一个枚举属性,具有以下可能的值:
-
"submit":该按钮用来提交表单。如果未指定属性 HTML5,或者它是动态更改为空值或无效值,则这是默认值。 -
"reset":该按钮用来重置表单。 -
"button":该按钮什么都不做。 -
"menu":该按钮显示一个菜单。
HTMLButtonElement.willValidate 只读
一个 Boolean,指示按钮是否是约束验证的候选者。如果任何条件禁止它进行约束验证,则为 false,包括:其 type 属性为 reset 或 button;它有一个 datalist 祖先; 或者 button 属性设置为disabled。
HTMLButtonElement.validationMessage 只读
一个 DOMString,表示描述控件不满足的验证约束(如果有)的本地化消息。如果控件不是约束验证的候选者( willValidate 是 false),则该属性是空字符串,或者它满足其约束。
HTMLButtonElement.validity 只读
一个 ValidityState,表示该按钮当前的有效状态。
HTMLButtonElement.value
一个 DOMString,表示按钮的当前表单控件值。
方法
从其父类 HTMLElement 继承了方法。
| 名称 | 返回类型 | 描述 |
|---|---|---|
checkValidity() |
Boolean |
类型为 reset 或 button 的元素不支持。 |
reportValidity() |
Boolean |
类型为 reset 或 button 的元素不支持。 |
setCustomValidity(in DOMString error) |
void |
类型为 reset 或 button 的元素不支持。 |
在基于 Gecko 的浏览器中,使用 :-moz-submit-invalid 伪类来根据表单的验证状态来设置提交按钮的样式。
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| HTML Living Standard HTMLButtonElement 的定义 |
现行的标准 | - |
| HTML 5.2 HTMLButtonElement 的定义 |
编者的草案 |
menu 属性和 type="menu" 值已被删除。 |
| HTML 5.1 HTMLButtonElement 的定义 |
推荐 | 添加了以下属性:menu。type 属性可以再多一个取值:menu。 |
| HTML5 HTMLButtonElement 的定义 |
推荐 | 属性 tabindex 和 accesskey 现在在 HTMLElement 上定义。添加了以下属性: autofocus,formAction,formEnctype,formMethod,formNoValidate,formTarget,labels,validity,validationMessage 和 willValidate。添加了以下方法: checkValidity() ,setCustomValidity()。type 属性不再是只读的。 |
| Document Object Model (DOM) Level 2 HTML Specification HTMLButtonElement 的定义 |
已过时 | 自从 Document Object Model (DOM) Level 1 Specification 以来没有变化。 |
| Document Object Model (DOM) Level 1 Specification HTMLButtonElement 的定义 |
已过时 | 初始定义。 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 支持 | 支持 | 1 | 支持 | 支持 | 支持 |
accessKey |
支持 | 支持 | 1 | 支持 | 支持 | 支持 |
autofocus |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
disabled |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
form |
支持 | 12 | 4 | 支持 | 支持 | 支持 |
formAction |
支持 | 12 | 41 | 支持 | 支持 | 支持 |
formEnctype |
支持 | 12 | 4 | 支持 | 支持 | 支持 |
formMethod |
支持 | 12 | 4 | 支持 | 支持 | 支持 |
formNoValidate |
支持 | 12 | 4 | 支持 | 支持 | 支持 |
formTarget |
支持 | 12 | 4 | 支持 | 支持 | 支持 |
labels |
支持 | 不支持 | 56 | 未知 | 未知 | 未知 |
menu |
不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
name |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
tabIndex |
支持 | 支持 | 1 | 支持 | 支持 | 支持 |
type |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
validationMessage |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
validity |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
value |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
willValidate |
支持 | 12 | 1 | 支持 | 支持 | 支持 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
accessKey |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
autofocus |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
disabled |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
form |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
formAction |
支持 | 支持 | 支持 | 41 | 未知 | 支持 | 支持 |
formEnctype |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
formMethod |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
formNoValidate |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
formTarget |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
labels |
支持 | 支持 | 不支持 | 56 | 未知 | 未知 | 未知 |
menu |
不支持 | 不支持 | 不支持 | 不支持 | 未知 | 不支持 | 不支持 |
name |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
tabIndex |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
type |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
validationMessage |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
validity |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
value |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
willValidate |
支持 | 支持 | 支持 | 4 | 未知 | 支持 | 支持 |
1. 在 Firefox 56 中,实现已更新,以便当使用相关按钮提交表单时,formAction 属性按照规范返回正确的表单提交 URL(bug 1366361)。
相关链接
- 实现该接口的 HTML 元素:
<button>