output 要素

4.10.15 output 要素

カテゴリー
フロー・コンテンツ
フレージング・コンテンツ
リスト化要素で、ラベル付け可能で、リセット可能フォーム関連要素
この要素を使うことができるコンテキスト:
フレージング・コンテンツが期待される場所
コンテンツ・モデル:
フレージング・コンテンツ
コンテンツ属性:
グローバル属性
for
form
name
DOM インタフェース:
interface HTMLOutputElement : HTMLElement {
  [PutForwards=value] readonly attribute DOMSettableTokenList htmlFor;
  readonly attribute HTMLFormElement form;
           attribute DOMString name;

  readonly attribute DOMString type;
           attribute DOMString defaultValue;
           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;
};

output 要素は、計算の結果を表します。

for コンテンツ属性は、計算結果と、計算に使われるか計算に影響される値を表す要素との関係性を明示的に作ることができます。for 属性が指定されたら、その値は、ユニークなスペース区切りトークンの非順序セットから構成される文字列を含まなければいけません。大文字・小文字は区別されます。それぞれは、同じ Document の中の要素の ID の値を持たなければいけません。

form 属性は、output 要素を明示的にフォーム・オーナーと関連づけるために使います。name 属性は、この要素の名前を表します。

この要素は、値モード・フラグを持ちますが、これは、value または default のいずれかとなります。初期においては、この値モード・フラグdefault にセットされなければいけません。

この要素はデフォルト値も持つこともできます。初期においては、デフォルト値は空文字列でなければいけません。

値モード・フラグがモード default のとき、この要素のコンテンツは、この要素の値と、そのデフォルト値の両方を表します。値モード・フラグがモード value のとき、この要素のコンテンツは、この要素の値のみを表し、そのデフォルト値defaultValue IDL 属性を使ってのみアクセスすることができます。

この要素の子孫が方法を問わず変更されたら常に、値モード・フラグがモード default なら、この要素のデフォルト値は、この要素の textContent IDL 属性の値にセットされなければいけません。

output 要素のリセット・アルゴリズムは、この要素の値モード・フラグdefault にセットし、この要素の textContent IDL 属性を、この要素のデフォルト値にセットすることです(ゆえに、この要素の子ノードを置き換えることになります)。

output . value [ = value ]

この要素の現在値を返します。

セットして値を変更することができます。

output . defaultValue [ = value ]

この要素の現在のデフォルト値を返します。

セットしてデフォルト値を変更することができます。

output . type

文字列 "output" を返します。

value IDL 属性は、この要素の textContent IDL 属性と同じように作用しなければいけません。ただし、セット時においては、さらに、その子ノードが変更される前に、この要素の値フラグ・モードvalue にセットされなければいけません。

defaultValue IDL 属性は、取得時においては、この要素のデフォルト値を返さなければいけません。セット時においては、この属性は、この要素のデフォルト値をセットしなければいけません。そして、この要素の値フラグ・モードがモード default であれば、この要素の textContent IDL 属性もセットしなければいけません。

type 属性は、文字列 "output" を返さなければいけません。

htmlFor IDL 属性は、for コンテンツ属性を反映しなければいけません。

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

制約バリデーションoutput 要素は常に制約バリデーションから除外されます。

簡単な計算なら、その計算結果の表示に output を使うことができるでしょう:

<form onsubmit="return false" oninput="o.value = a.valueAsNumber + b.valueAsNumber">
 <input name=a type=number step=any> +
 <input name=b type=number step=any> =
 <output name=o></output>
</form>

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