SYNCER

SYNCER

HTMLFormElement - HTMLのform要素

公開日:

HTMLFormElementは、HTMLのform要素が実装するインターフェイスです。

概要

名前
HTMLFormElement
継承
  1. EventTarget
  2. Node
  3. Element
  4. HTMLElement
  5. HTMLFormElement
実装
実装するインターフェイスはありません。
IDL
[OverrideBuiltins, LegacyUnenumerableNamedProperties, HTMLConstructor]
interface HTMLFormElement : HTMLElement {
  [CEReactions] attribute DOMString acceptCharset;
  [CEReactions] attribute USVString action;
  [CEReactions] attribute DOMString autocomplete;
  [CEReactions] attribute DOMString enctype;
  [CEReactions] attribute DOMString encoding;
  [CEReactions] attribute DOMString method;
  [CEReactions] attribute DOMString name;
  [CEReactions] attribute boolean noValidate;
  [CEReactions] attribute DOMString target;

  [SameObject] readonly attribute HTMLFormControlsCollection elements;
  readonly attribute unsigned long length;
  getter Element (unsigned long index);
  getter (RadioNodeList or Element) (DOMString name);

  void submit();
  [CEReactions] void reset();
  boolean checkValidity();
  boolean reportValidity();
};
仕様書
https://html.spec.whatwg.org/multipage/forms.html#htmlformelement

説明

HTMLFormElementを作成する例です。

JavaScript

// 要素を作成する
var element = document.createElement( "form" ) ;	// <form></form>

// 属性をセットする
element.action = "./form.php" ;	// →<form action="./form.php"></form>
element.method = "POST" ;	// →<form action="./form.php" method="POST"></form>

所属するフォームコントロール要素を、インデックス番号で取得できます。

HTML

<form action="./form.php" id="hoge">
	<fieldset>
		<p><input name="foo"></p>
		<p><input name="bar"></p>
	</fieldset>
	<button>内容を送信</button>
</form>

JavaScript

// 要素の取得
var element = document.getElementById( "hoge" ) ;	// <form action="./form.php" id="hoge"> ... </form>

// インデックス番号で所属するフォームコントロール要素を取得
element[0] ;	// <fieldset> ... </fieldset>
element[1] ;	// <input name="foo">
element[2] ;	// <input name="bar">
element[3] ;	// <button>内容を送信</button>

所属するフォームコントロール要素を、name属性値から取得できます。

HTML

<form action="./form.php" id="hoge">
	<input name="foo">
	<button>内容を送信</button>
</form>

JavaScript

// 要素の取得
var element = document.getElementById( "hoge" ) ;	// <form action="./form.php" id="hoge"> ... </form>

// name属性値で所属するフォームコントロール要素を取得
element.foo ;	// <input name="foo">

同じname属性値の要素が複数あった場合、RadioNodeListを取得できます。これは、ラジオボタンが想定されています。

HTML

<form action="./form.php" id="hoge">
	<input name="foo" type="radio" value="1">選択肢1
	<input name="foo" type="radio" value="2">選択肢2
	<input name="foo" type="radio" value="3" checked>選択肢3
	<input name="foo" type="radio" value="4">選択肢4
	<button>内容を送信</button>
</form>

JavaScript

// 要素の取得
var element = document.getElementById( "hoge" ) ;	// <form action="./form.php" id="hoge"> ... </form>

// name属性値でRadioNodeListを取得
var radioNodeList = element.foo ;	// RadioNodeList

// RadioNodeListの内容
radioNodeList[0] ;	// <input name="foo" type="radio" value="1">
radioNodeList[1] ;	// <input name="foo" type="radio" value="2">
radioNodeList[2] ;	// <input name="foo" type="radio" value="3" checked>
radioNodeList[3] ;	// <input name="foo" type="radio" value="4">
radioNodeList.value ;	// "3" (選択肢3にチェックが付いていた場合)

プロパティ

NodeElementHTMLElementのプロパティを利用できます。

HTMLFormElement.acceptCharset

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

accept-charset属性を反映します。

HTMLFormElement.action

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

action属性を反映します。

HTMLFormElement.autocomplete

Chrome
Firefox
Edge
IE
10+
Safari
6.0+
Opera
15+
iOS
6.0+
Android
4.4+

autocomplete属性を反映します。

HTMLFormElement.elements

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

所属する全てのフォームコントロール要素を返します。

HTMLFormElement.encoding

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

enctype属性を反映します。enctypeの別名です。

HTMLFormElement.enctype

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

enctype属性を反映します。

HTMLFormElement.length

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

所属するフォームコントロール要素の数を返します。

HTMLFormElement.method

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

method属性を反映します。

HTMLFormElement.name

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

name属性を反映します。

HTMLFormElement.noValidate

Chrome
Firefox
Edge
IE
10+
Safari
5.1+
Opera
iOS
Android

novalidate属性を反映します。

HTMLFormElement.target

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

target属性を反映します。

メソッド

EventTargetNodeElementHTMLElementのメソッドを利用できます。

HTMLFormElement.checkValidity()

Chrome
Firefox
Edge
IE
10+
Safari
5.1+
Opera
iOS
Android

入力内容を検証し、検証エラーがある場合にinvalidイベントを発生させます。

HTMLFormElement.reportValidity()

Chrome
40+
Firefox
49+
Edge
×
IE
×
Safari
×
Opera
27+
iOS
×
Android
×

入力内容を検証し、検証エラーがある場合にinvalidイベントを発生させ、さらに、検証エラーメッセージを表示します。

HTMLFormElement.reset()

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

フォームのリセットを実行します。

HTMLFormElement.submit()

Chrome
Firefox
Edge
IE
Safari
Opera
iOS
Android

フォームの送信を実行します。

定数

Nodeの定数を利用できます。

サポート状況

HTMLFormElementのサポート状況です。

ブラウザサポート状況ブラウザサポート状況
ChromeSupportedFirefoxSupported
EdgeSupportedInternet ExplorerSupported
SafariSupportedOperaSupported
iOS SafariSupportedAndroidSupported

Chrome

バージョンサポート状況公開時期シェア
57Supported2017年3月頃0.1%
56Supported2017年1月頃12.02%
55Supported2016年12月頃12.36%
54Supported2016年10月頃0.44%
53Supported2016年9月頃0.25%
52Supported2016年7月頃0.27%
51Supported2016年6月頃0.4%
50Supported2016年4月頃0.32%
49Supported2016年3月頃0.47%
48Supported2016年1月頃0.02%
47Supported2015年12月頃0.06%
46Supported2015年10月頃0.56%
45Supported2015年9月頃0.01%
44Supported2015年7月頃0.83%
43Supported2015年5月頃0.05%
42Supported2015年4月頃0.05%
41Supported2015年3月頃0.01%
40Supported2015年1月頃0.59%
39Supported2014年11月頃0.02%
38Supported2014年10月頃0.08%
37Supported2014年8月頃0.01%
36Supported2014年7月頃0.01%
35Supported2014年5月頃0.01%
34Supported2014年4月頃0.14%
33Supported2014年2月頃0.01%
32Supported2014年1月頃0%
31Supported2013年11月頃0.01%
30Supported2013年10月頃0.03%
29Supported2013年8月頃0%
28Supported2013年6月頃0.03%
27Supported2013年5月頃0.01%
26Supported2013年3月頃0%
25Supported2013年2月頃0%
24Supported2013年1月頃0%
23Supported2012年11月頃0%
22Supported2012年9月頃0%
21Supported2012年7月頃0%
20Supported2012年6月頃0%
19Supported2012年5月頃0%
18Supported2012年3月頃0.01%
17Supported2012年2月頃0.01%
16Supported2011年12月頃0%
15Supported2011年10月頃0%
14Supported2011年9月頃0%

Firefox

バージョンサポート状況公開時期シェア
52Supported2017年3月頃0.12%
51Supported2017年1月頃1.7%
50Supported2016年11月頃0.78%
49Supported2016年9月頃0.02%
48Supported2016年8月頃0.07%
47Supported2016年6月頃0.03%
46Supported2016年4月頃0.01%
45Supported2016年3月頃0.1%
44Supported2016年1月頃0.01%
43Supported2015年12月頃0.02%
42Supported2015年11月頃0.01%
41Supported2015年9月頃0%
40Supported2015年8月頃0.02%
39Supported2015年7月頃0.01%
38Supported2015年5月頃0.02%
37Supported2015年3月頃0%
36Supported2015年2月頃0.01%
35Supported2015年1月頃0%
34Supported2014年12月頃0.01%
33Supported2014年10月頃0%
32Supported2014年9月頃0%
31Supported2014年7月頃0.01%
30Supported2014年6月頃0%
29Supported2014年4月頃0%
28Supported2014年3月頃0.01%
27Supported2014年2月頃0%
26Supported2013年12月頃0%
25Supported2013年10月頃0%
24Supported2013年9月頃0%
23Supported2013年8月頃0%
22Supported2013年6月頃0%
21Supported2013年5月頃0%
20Supported2013年4月頃0%
19Supported2013年2月頃0%
18Supported2013年1月頃0%
17Supported2012年11月頃0%
16Supported2012年10月頃0%
15Supported2012年8月頃0%
14Supported2012年7月頃0%
13Supported2012年6月頃0%
12Supported2012年4月頃0%
11Supported2012年3月頃0%
10Supported2012年1月頃0%
9Supported2011年12月頃0%
8Supported2011年11月頃0%
7Supported2011年9月頃0%
6Supported2011年8月頃0%
5Supported2011年6月頃0%
4Supported2011年3月頃0%

Edge

バージョンサポート状況公開時期シェア
14Supported2016年2月頃1.05%
13Supported2015年9月頃0.08%

Internet Explorer

バージョンサポート状況公開時期シェア
11Supported2013年10月頃4.99%
10Supported2012年8月頃0.09%
9Supported2011年3月頃0.18%
8Supported2009年3月頃0.04%
7Supported2006年10月頃0.01%
6Supported2001年8月頃0%

Safari

バージョンサポート状況公開時期シェア
10Supported2016年10月頃0%
9.1Supported2015年9月頃0%
8.0Supported2014年10月頃0%
7.1Supported2013年10月頃0%
6.0Supported2012年7月頃0%
5.1Supported2011年7月頃0%
4Supported2009年6月頃0%

Opera

バージョンサポート状況公開時期シェア
43Supported2017年2月頃0.06%
42Supported2016年12月頃0.09%
41Supported2016年10月頃0.01%
40Supported2016年9月頃0%
39Supported2016年8月頃0%
38Supported2016年6月頃0%
37Supported2016年5月頃0.01%
36Supported2016年3月頃0.01%
35Supported2016年2月頃0%
34Supported2015年12月頃0%
33Supported2015年10月頃0%
32Supported2015年9月頃0%
31Supported2015年8月頃0%
30Supported2015年6月頃0%
29Supported2015年4月頃0%
28Supported2015年3月頃0%
27Supported2015年1月頃0%
26Supported2014年12月頃0%
25Supported2014年10月頃0%
24Supported2014年9月頃0%
23Supported2014年7月頃0%
22Supported2014年6月頃0%
21Supported2014年5月頃0.01%
20Supported2014年3月頃0%
19Supported2014年1月頃0%
18Supported2013年11月頃0%
17Supported2013年10月頃0%
16Supported2013年8月頃0%
15Supported2013年7月頃0%
12Supported2012年6月頃0.02%
11.6Supported2011年12月頃0%
11.1Supported2011年4月頃0%

iOS Safari

バージョンサポート状況公開時期シェア
10.0Supported2016年9月頃39.65%
9.1Supported2015年9月頃5.39%
8.3Supported2014年9月頃1.03%
7.0Supported2013年9月頃0.24%
6.0Supported2012年9月頃0.05%
5.1Supported2011年10月頃0.03%

Android

バージョンサポート状況公開時期シェア
4.4Supported2013年10月頃0%
4.3Supported2013年7月頃0%
4.2Supported2013年3月頃0.03%
4.1Supported2012年12月頃0%
4.0Supported2012年6月頃1.61%
2.3Supported2011年10月頃0%