--- title: HTMLButtonElement slug: Web/API/HTMLButtonElement tags: - API - HTML DOM translation_of: Web/API/HTMLButtonElement --- <div>{{APIRef("HTML DOM")}}</div> <p><strong><code>HTMLButtonElement</code></strong> 接口提供操作button元素 (除了 {{HTMLElement("button")}} 对象,这个接口对继承了该对象的元素也有效)的属性和方法。</p> <h2 id="属性">属性</h2> <p><em>从父对象{{domxref("HTMLElement")}}继承的属性。</em></p> <table class="standard-table"> <thead> <tr> <th scope="col">名字</th> <th scope="col">类型</th> <th scope="col">描述</th> </tr> </thead> <tbody> <tr> <td><code>accessKey</code></td> <td>{{domxref("DOMString")}}</td> <td>一个键盘字符构成的字符串,表明用哪个键盘字符能够访问这个按钮。</td> </tr> <tr> <td><code>autofocus</code></td> <td>{{domxref("Boolean")}}</td> <td>这个控件是否可以在页面加载时自动得到焦点。但用户选择了其他焦点除外。只有和表单关联的按钮该特性才有效。</td> </tr> <tr> <td><code>disabled</code></td> <td>{{domxref("Boolean")}}</td> <td>这个控件是否被禁用。被禁用的控件不接受任何输入和点击。</td> </tr> <tr> <td><code>form</code> {{readonlyInline}}</td> <td>{{domxref("HTMLFormElement")}}</td> <td>这个按钮所关联的表单元素。如果这个按钮是一个表单元素的后代元素,那么这个属性的值就是那个表单元素。<br> 如果这个按钮不是一个表单元素的后代元素,那么这个数学可以是任意同文档中的表单元素,或者是 <code>null</code> 表明它没有关联任何表单。</td> </tr> <tr> <td><code>formAction</code></td> <td>{{domxref("DOMString")}}</td> <td>一个处理提交信息的URI资源地址。如果指定该属性,会覆盖拥有该元素的{{HTMLElement("form")}} 元素的{{htmlattrxref("action", "form")}} 属性。</td> </tr> <tr> <td><code>formEncType</code></td> <td>{{domxref("DOMString")}}</td> <td>表单要提交给服务器处理的内容的类型。如果指定该属性,会覆盖拥有该元素的{{HTMLElement("form")}} 元素的{{htmlattrxref("enctype", "form")}} 属性。</td> </tr> <tr> <td><code>formMethod</code></td> <td>{{domxref("DOMString")}}</td> <td>浏览器提交表单内容的HTTP方法。如果指定该属性,会覆盖拥有该元素的{{HTMLElement("form")}} 元素的.{{htmlattrxref("method", "form")}}属性。</td> </tr> <tr> <td><code>formNoValidate</code></td> <td>{{domxref("Boolean")}}</td> <td>表明这个表单提交时是否需要验证。如果指定该属性,会覆盖拥有该元素的{{HTMLElement("form")}} 元素的.{{htmlattrxref("novalidate", "form")}}属性。</td> </tr> <tr> <td><code>formTarget</code></td> <td>{{domxref("DOMString")}}</td> <td>一个名字或关键字,用于表明显示服务器响应的页面。如果指定该属性,会覆盖拥有该元素的{{HTMLElement("form")}} 元素的.{{htmlattrxref("target", "form")}}属性。</td> </tr> <tr> <td><code>labels</code> {{readonlyInline}}</td> <td>{{domxref("NodeList")}}</td> <td>一个{{HTMLElement("label")}} 元素表,说明哪些标签是归属这个button的。</td> </tr> <tr> <td><code>menu</code> {{experimental_inline}}</td> <td>{{domxref("HTMLMenuElement")}}</td> <td>如果该按钮<code>type="menu"</code>,被点击的时候应该显示的菜单。</td> </tr> <tr> <td><code>name</code></td> <td>{{domxref("DOMString")}}</td> <td>提交到服务器时表单描述该对象的name。 {{HTMLVersionInline(5)}} 如果指定该属性,不能使用空字符串 。</td> </tr> <tr> <td><code>tabIndex</code></td> <td>long</td> <td>用于表示该元素在tab按钮跳动过程中的序号的一个数字。</td> </tr> <tr> <td><code>type</code></td> <td>{{domxref("DOMString")}}</td> <td>表明按钮的行为。这个属性是枚举类型,可以是以下的值: <ul> <li><code>"submit"</code>: 这个按钮会提交表单。如果不指定该属性,这是默认值。{{HTMLVersionInline(5)}} 中可以动态改为空值或者无效值。</li> <li><code>"reset"</code>: 用于重置(清空)表单。</li> <li><code>"button"</code>: 什么都不做的按钮。通常通过Javascript挂载事件。</li> <li><code>"menu"</code>: 显示菜单的按钮 {{experimental_inline}}。</li> </ul> </td> </tr> <tr> <td><code>validationMessage</code> {{readonlyInline}}</td> <td>{{domxref("DOMString")}}</td> <td>报告该控件不满足验证要求的,提示给用户的看的信息。如果这个控件没有验证约束(<code>willValidate</code>值为<code>false</code>),或者满足验证的要求,那么这个属性为空字符串。</td> </tr> <tr> <td><code>validity</code> {{readonlyInline}}</td> <td>{{domxref("ValidityState")}}</td> <td>这个控件当前的验证状态。</td> </tr> <tr> <td><code>value</code></td> <td>{{domxref("DOMString")}}</td> <td>这个控件当前的表单值。</td> </tr> <tr> <td><code>willValidate</code></td> <td>{{domxref("Boolean")}}</td> <td>表明这个按钮是否需要在提交前进行验证。如果不需要,这个属性值为<code>false</code> 。</td> </tr> </tbody> </table> <h2 id="方法">方法</h2> <p><em>从父对象{{domxref("HTMLElement")}}继承的方法。</em></p> <table class="standard-table"> <thead> <tr> <th scope="col">名字</th> <th scope="col">返回类型</th> <th scope="col">描述</th> </tr> </thead> <tbody> <tr> <td><code>checkValidity()</code></td> <td>{{domxref("Boolean")}}</td> <td>对按钮元素不支持。</td> </tr> <tr> <td><code>setCustomValidity(in DOMString error)</code></td> <td><code>void</code></td> <td>对按钮元素不支持。</td> </tr> </tbody> </table> <p>在基于Gecko的浏览器中,在表单验证时会使用{{cssxref(":-moz-submit-invalid")}} 伪类修饰提交按钮。</p> <h2 id="规范">规范</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">规范</th> <th scope="col">状态</th> <th scope="col">注释</th> </tr> <tr> <td>{{SpecName('HTML WHATWG', "text-level-semantics.html#the-a-element", "HTMLAnchorElement")}}</td> <td>{{Spec2('HTML WHATWG')}}</td> <td>新添加的属性: <code>menu</code>。<br> <code>type</code> 属性可以使用的新的值<code>"menu"</code>。</td> </tr> <tr> <td>{{SpecName('HTML5 W3C', "text-level-semantics.html#the-a-element", "HTMLAnchorElement")}}</td> <td>{{Spec2('HTML5 W3C')}}</td> <td>属性<code>tabindex</code> 和<code>accesskey</code>被定义在{{domxref("HTMLElement")}}中。<br> 添加了下列属性:<code>autofocus</code>, <code>formAction</code>, <code>formEncType</code>, <code>formMethod</code>, <code>formNoValidate</code>, <code>formTarget</code>, <code>labels</code>, <code>validity</code>, <code>validationMessage</code>和 <code>willValidate</code>。<br> 添加了下列方法:<code>checkValidity()</code>, <code>setCustomValidity()</code>.<br> <code>type</code> 属性不再是只读的。</td> </tr> <tr> <td>{{SpecName('DOM2 HTML', 'html.html#ID-ID-48250443', 'HTMLAnchorElement')}}</td> <td>{{Spec2('DOM2 HTML')}}</td> <td>和 {{SpecName("DOM1")}}一样</td> </tr> <tr> <td>{{SpecName('DOM1', 'level-one-html.html#ID-48250443', 'HTMLAnchorElement')}}</td> <td>{{Spec2('DOM1')}}</td> <td>最初的定义。</td> </tr> </tbody> </table> <h2 id="浏览器兼容性">浏览器兼容性</h2> <p>{{CompatibilityTable}}</p> <div id="compat-desktop"> <table class="compat-table"> <tbody> <tr> <th>特性</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari (WebKit)</th> </tr> <tr> <td>基本支持</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoDesktop(1.0)}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> <tr> <td>与表单相关的属性</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoDesktop(2.0)}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> <tr> <td><code>labels</code></td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatNo}} {{unimplemented_inline(556743)}}</td> <td>{{CompatUnknown}}</td> <td>{{CompatUnknown}}</td> <td>{{CompatUnknown}}</td> </tr> <tr> <td><code>menu</code> & <code>type="menu"</code> {{experimental_inline}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> </tr> </tbody> </table> </div> <div id="compat-mobile"> <table class="compat-table"> <tbody> <tr> <th>特性</th> <th>Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Phone</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>基本支持</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoMobile(1.0)}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> <tr> <td>与表单相关的属性</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoDesktop(2.0)}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> <tr> <td><code>labels</code></td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatNo}}{{unimplemented_inline(556743)}}</td> <td>{{CompatUnknown}}</td> <td>{{CompatUnknown}}</td> <td>{{CompatUnknown}}</td> </tr> <tr> <td><code>menu</code> & <code>type="menu"</code> {{experimental_inline}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> </tr> </tbody> </table> </div> <h2 id="另见">另见</h2> <ul> <li>实现该接口的HTML元素:{{ HTMLElement("button") }}</li> </ul>