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 属性为 resetbutton;它有一个 datalist 祖先; 或者 button 属性设置为disabled

HTMLButtonElement.validationMessage 只读

一个 DOMString,表示描述控件不满足的验证约束(如果有)的本地化消息。如果控件不是约束验证的候选者( willValidatefalse),则该属性是空字符串,或者它满足其约束。

HTMLButtonElement.validity 只读

一个 ValidityState,表示该按钮当前的有效状态。

HTMLButtonElement.value

一个 DOMString,表示按钮的当前表单控件值。

方法

从其父类 HTMLElement 继承了方法。

名称 返回类型 描述
checkValidity() Boolean 类型为 resetbutton 的元素不支持。
reportValidity() Boolean 类型为 resetbutton 的元素不支持。
setCustomValidity(in DOMString error) void 类型为 resetbutton 的元素不支持。

在基于 Gecko 的浏览器中,使用 :-moz-submit-invalid 伪类来根据表单的验证状态来设置提交按钮的样式。

规范

规范 状态 备注
HTML Living Standard
HTMLButtonElement 的定义
现行的标准 -
HTML 5.2
HTMLButtonElement 的定义
编者的草案 menu 属性和 type="menu" 值已被删除。
HTML 5.1
HTMLButtonElement 的定义
推荐 添加了以下属性:menu
type 属性可以再多一个取值:menu
HTML5
HTMLButtonElement 的定义
推荐 属性 tabindexaccesskey 现在在 HTMLElement 上定义。
添加了以下属性:autofocusformActionformEnctypeformMethodformNoValidateformTargetlabelsvalidityvalidationMessagewillValidate
添加了以下方法: 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>