button 要素

4.10.8 button 要素

カテゴリー
フロー・コンテンツ
フレージング・コンテンツ
インタラクティブ・コンテンツ
リスト化要素で、ラベル付け可能で、サブミット可能フォーム関連要素
この要素を使うことができるコンテキスト:
フレージング・コンテンツが期待される場所
コンテンツ・モデル:
フレージング・コンテンツ。ただし、子孫にインタラクティブ・コンテンツがないこと。
コンテンツ属性:
グローバル属性
autofocus
disabled
form
formaction
formenctype
formmethod
formnovalidate
formtarget
name
type
value
DOMインタフェース:
interface HTMLButtonElement : HTMLElement {
           attribute boolean autofocus;
           attribute boolean disabled;
  readonly attribute HTMLFormElement form;
           attribute DOMString formAction;
           attribute DOMString formEnctype;
           attribute DOMString formMethod;
           attribute DOMString formNoValidate;
           attribute DOMString formTarget;
           attribute DOMString name;
           attribute DOMString type;
           attribute DOMString value;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  void setCustomValidity(in DOMString error);

  readonly attribute NodeList labels;
};

button 要素はボタンを表します。この要素が無効でなければ、ユーザーエージェントは、ユーザーがボタンをアクティブにすることができるようにするべきです。

この要素はボタンです。

type 属性は、アクティブにされたときのボタンの挙動をコントロールします。これは列挙属性です。下表は、この属性に割り当てられているキーワードと状態を一覧にしたものです。左カラムのキーワードは、そのキーワードと同じ行にある二番目のカラムのセルに書かれている状態に対応します。

キーワード 状態 概略
submit サブミット・ボタン フォームをサブミットする。
reset リセット・ボタン フォームをリセットする。
button ボタン 何もしない。

指定がなかった場合のデフォルトサブミット・ボタン状態です。

type 属性がサブミット・ボタン状態であれば、この要素は特別にサブミット・ボタンになります

制約バリデーションtype 属性がリセット・ボタン状態もしくはボタン状態にあれば、この要素は制約バリデーションから除外されます。

この要素が無効でなければ、button 要素のアクティベーション・ビヘイビアは、次のリストで定義された手順を実行することになります。この手順は、この要素の type 属性の現在の状態に対して定義されます:

サブミット・ボタン

この要素がフォーム・オーナーを持つなら、この要素は button 要素からそのフォーム・オーナーサブミットしなければいけません。

リセット・ボタン

この要素がフォーム・オーナーを持つなら、この要素はそのフォーム・オーナーリセットしなければいけません。

ボタン

何もしません。

form 属性は、明示的にその button 要素をフォーム・オーナーと結びづけるために使われます。name 属性は、その要素の名前を表します。disabled 属性は、コントロールを非インタラクティブして、その値がサブミットされないようにするために使われます。autofocus 属性はフォーカスをコントロールします。formaction, formenctype, formmethod, formnovalidate, formtarget 属性は、フォーム・サブミット用の属性です。

formnovalidate 属性を使うことで、制約バリデーションを発生させないサブミット・ボタンを作ることができます。

この要素の type 属性がサブミット・ボタン状態になければ、formaction, formenctype, formmethod, formnovalidate, formtarget は指定されてはいけません。

value 属性は、フォーム・サブミットに使われる要素の値を与えます。この要素のは、この要素に value 属性があれば、その値となります。なければ、空文字列となります。

button 要素(そして、その値)は、そのボタン自身がフォーム・サブミットを発生させるために使われた場合に限り、そのフォーム・サブミットに含められます。

value IDL 属性は、同じな雨のコンテンツ属性を反映しなければいけません。

type IDL 属性は、同じ名前のコンテンツ属性を反映しなければいけません。ただし、既知の値に限られます

willValidate, validity, validationMessage 属性と、checkValidity()setCustomValidity() メソッドは、制約バリデーション API の一部です。labels 属性は、この要素の label 要素のリストを提供します。autofocus, disabled, form, name IDL 属性は、この要素の forms API の一部です。

次のボタンは、"Snow hint" とラベル付けされ、アクティベートされたときに、ダイアログをポップアップします:

<button type=button
        onclick="alert('This 15-20 minute piece was composed by George Gershwin.')">
 Show hint
</button>

※ 原文:http://www.w3.org/TR/2011/WD-html5-20110525/the-button-element.html#the-button-element