--- title: HTMLInputElement slug: Web/API/HTMLInputElement tags: - API - DOM - HTML DOM - HTMLInputElement - Input - Interface - NeedsContent - NeedsMarkupWork - Reference translation_of: Web/API/HTMLInputElement ---
{{ APIRef("HTML DOM") }}

HTMLInputElement インターフェイスは {{HtmlElement("input")}} 要素のオプション、レイアウト、表示を操作するための特別なプロパティやメソッドを提供します。

{{InheritanceDiagram(600, 120)}}

プロパティ

親フォームに関連するプロパティ
form {{readonlyInline}} {{domxref("HTMLFormElement")}} オブジェクト: 親の {{HtmlElement("form")}} 要素の参照を返します
formAction string: その要素の {{ htmlattrxref("formaction", "input") }} 属性を返却または設定します。ここには要素によって送信された情報を処理するプログラムの URI が入ります。これは親フォームの {{ htmlattrxref("action", "form") }} 属性を上書きします。
formEnctype string: その要素の {{ htmlattrxref("formenctype", "input") }} 属性を返却または設定します。ここにはフォームをサーバーに送信する際のコンテンツの型が入ります。これは親フォームの {{ htmlattrxref("enctype", "form") }} 属性を上書きします。
formMethod string: その要素の {{ htmlattrxref("formmethod", "input") }} 属性を返却または設定します。ここにはブラウザーがフォームを送信する際に用いる HTTP メソッドが入ります。これは親フォームの {{ htmlattrxref("method", "form") }} 属性を上書きします。
formNoValidate {{jsxref("Boolean")}}: その要素の {{ htmlattrxref("formnovalidate", "input") }} 属性を返却または設定します。これは送信時にそのフォームが検証されないかどうかを示します。これは親フォームの {{ htmlattrxref("novalidate", "form") }} 属性を上書きします。
formTarget string: その要素の {{ htmlattrxref("formtarget", "input") }} 属性を返却または設定します。ここにはフォームを送信した後で受け取ったレスポンスを表示する場所を示す名前またはキーワードが入ります。これは親フォームの {{ htmlattrxref("target", "form") }} 属性を上書きします。
hidden 以外のあらゆる型の input 要素に適用されるプロパティ
name string: その要素の {{ htmlattrxref("name", "input") }} 属性を返却または設定します。ここにはフォーム送信時にその要素を識別する名前が入ります。
type string: その要素の {{ htmlattrxref("type", "input") }} 属性を返却または設定します。これは表示するコントロールの型を示します。利用可能な値については {{ HTMLElement("input") }} の {{ htmlattrxref("type", "input") }} 属性を参照してください。
disabled {{jsxref("Boolean")}}: その要素の {{ htmlattrxref("disabled", "input") }} 属性を返却または設定します。これはそのコントロールが対話を受け付けないかどうかを示します。その入力値はフォームとともに送信されません。 {{ htmlattrxref("readOnly", "input") }} もご覧ください。
autofocus {{jsxref("Boolean")}}: その要素の {{ htmlattrxref("autofocus", "input") }} 属性を返却または設定します。ページが読み込まれたときに、ユーザーが別のコントロールに入力するなどしてそれを上書きしない限り、そのフォームコントロールが入力フォーカスを持つべきであることを指定します。文書内の一つの form 要素だけが {{htmlattrxref("autofocus","input")}} 属性を持つことができます。 {{htmlattrxref("type","input")}} 属性が hidden に設定されている場合には適用できません (つまり、非表示のコントロールにフォーカスを自動的に設定することはできません)。
required {{jsxref("Boolean")}}: その要素の {{ htmlattrxref("required", "input") }} 属性を返却または設定します。これは、フォームを送信する前にユーザーが値を入力しなければならないかどうかを示します。
value string: そのコントロールの現在の値を返却または設定します。

注: ユーザーが予期しない値を入力した場合、これは空文字列を返すことがあります。

validity {{readonlyInline}} {{domxref("ValidityState")}} オブジェクト: その要素の現在の検証状態を返します
validationMessage {{readonlyInline}} string: 制約検証をそのコントロールが満たさなかった場合、それを記述したローカライズされたメッセージを返します (もしあれば)。これは、コントロールが制約検証の候補ではない場合 ({{htmlattrxref("willValidate","input")}} が false の場合)、または制約を満たしている場合は空の文字列です。この値は、 setCustomValidity メソッドで設定できます。
willValidate {{readonlyInline}} {{jsxref("Boolean")}}: その要素が制約検証の候補であるかどうかを返します。これは何か制約検証を阻む条件がある場合、例えば、 typehiddenresetbutton のいずれかである、祖先に {{HTMLElement("datalist")}} がある、 disabled プロパティが true である、などです。
checkbox または radio 型の要素にのみに適用できるプロパティ
checked {{jsxref("Boolean")}}: {{htmlattrxref("type","input")}} が checkbox または radio の場合、要素の現在の状態を返却または設定します。
defaultChecked {{jsxref("Boolean")}}: このオブジェクトを生成した HTML でもともと指定されていたラジオボタンまたはチェックボックスの既定の状態を返却または設定します。
indeterminate {{jsxref("Boolean")}}: チェックボックスやラジオボタンの状態が不確定であるかどうかを返します。チェックボックスの場合は、その状態が不確定 (チェックでも未チェックでもない状態) であることを示すために、チェックボックスの外観が何らかの方法で不明瞭になったり、灰色になったりする効果があります。 checked 属性の値には影響を与えず、チェックボックスをクリックするとその値は false になります。
image 型の要素のみに適用できるプロパティ
alt string: {{htmlattrxref("type","input")}} が image である場合、その要素の代替テキストが設定された {{ htmlattrxref("alt", "input") }} 属性を返却または設定します。
height string: {{htmlattrxref("type","input")}} の値が image である場合、ボタンに表示される画像の高さを定義するその要素の {{ htmlattrxref("height", "input") }} 属性を返却または設定します。
src string: {{htmlattrxref("type","input")}} の値が image である場合、グラフィックの送信ボタンを表示する画像の場所を示す URI を指定する、その要素の {{ htmlattrxref("src", "input") }} 属性を返却または設定します。それ以外の場合は無視されます。
width string: {{htmlattrxref("type","input")}} の値が image である場合、ボタンに表示される画像の幅を定義する、文書の {{ htmlattrxref("width", "input") }} 属性を返却または設定します。
file 型の要素のみに適用できるプロパティ
accept string: {{htmlattrxref("type","input")}} が file である場合、サーバーが受け入れるファイル形式をカンマ区切りのリストで表すその要素の {{ htmlattrxref("accept", "input") }} 属性を返却または設定します。
allowdirs {{non-standard_inline}} {{jsxref("Boolean")}}: 標準外の Directory Upload API の一部です。ファイルリストでディレクトリーとファイルの両方を選択できるようにするかどうかを示します。 Firefox でのみ実装されており、設定で隠されています。
files {{domxref("FileList")}} オブジェクトを返却または設定し、これはアップロードするために選択されたファイルを表す {{domxref("File")}} オブジェクトのリストが入ります。
{{domxref("HTMLInputElement.webkitdirectory", "webkitdirectory")}} {{Non-standard_inline}} {{jsxref("Boolean")}}: {{htmlattrxref("webkitdirectory", "input")}} 属性を返します。 true の場合、ファイルシステム選択インターフェイスはファイルではなくディレクトリーのみが選択できるようになります。
{{domxref("HTMLInputElement.webkitEntries", "webkitEntries")}} {{Non-standard_inline}} {{domxref("FileSystemEntry")}} オブジェクトの配列: 現在選択されているファイルまたはディレクトリーを示します
text/number を含む型の要素のみに適用できるプロパティ
autocomplete string: その要素の {{htmlattrxref("autocomplete", "input")}} 属性を返却または設定します。これはコントロールの値をブラウザーで自動的に補完できるかどうかを示します。 {{htmlattrxref("type","input")}} 属性の値が hiddencheckboxradiofile、またはボタン型 (buttonsubmitresetimage) の場合は無視されます。可能な値は次の通りです。
on: ブラウザーが以前入力された値を使用して値を自動補完することができる
off: ユーザーは明示的に値を入力しなければならない
max string: その要素の {{ htmlattrxref("max", "input") }} 属性を返却または設定します。この属性には、この項目の (数値または日時の) 最大値が含まれ、最小値 ({{htmlattrxref("min","input")}} 属性) より小さくすることはできません。
maxLength long: その要素の {{ htmlattrxref("maxlength", "input") }} 属性を返却または設定します。この属性には、値が持つことのできる (Unicode コードポイントでの) 最大文字数が含まれます。 (これを負の数に設定した場合、例外が発生します。)
min string: その要素の {{ htmlattrxref("min", "input") }} 属性を返却または設定します。この属性には、この項目の (数値または日時の) 最小値が含まれ、最大値 ({{htmlattrxref("max","input")}} 属性) より大きくすることはできません。
minLength long: その要素の {{ htmlattrxref("minlength", "input") }} 属性を返却または設定します。この属性には、値が持つことのできる (Unicode コードポイントでの) 最小文字数が含まれます。 (これを負の数に設定した場合、例外が発生します。)
pattern string: その要素の {{ htmlattrxref("pattern", "input") }} 属性を返却または設定します。ここにはコントロールの値をチェックするための正規表現を含みます。 {{htmlattrxref("title","input")}} 属性を使用してユーザーにパターンを説明してください。この属性は、 {{htmlattrxref("type","input")}} 属性の値が textsearchtelurlemail の場合に適用され、それ以外の場合は無視されます。
placeholder string: その要素の {{ htmlattrxref("placeholder", "input") }} 属性を返却または設定します。ここには、ユーザーがコントロールに何を入力できるかのヒントが設定されます。プレイスホルダーのテキストには、キャリッジリターンやラインフィードを含むことはできません。この属性は、type属性の値がtext、search、tel、url、emailの場合に適用され、それ以外の場合は無視されます。この属性は、 {{htmlattrxref("type","input")}} 属性の値が textsearchtelurlemail の場合に適用され、それ以外の場合は無視されます。
readOnly boolean:その要素の {{ htmlattrxref("readonly", "input") }} 属性を返却または設定します。これは、ユーザーがコントロールの値を変更できないことを示します。
{{htmlattrxref("type","input")}} 属性の値が hiddenrangecolorcheckboxradiofile、またはボタン型の場合は無視されます。
selectionStart unsigned long: 選択中のテキストの先頭の位置を返却または設定します。何も選択していない場合は、その {{HTMLElement("input")}} 要素内にあるテキスト入力カーソル (キャレット) の位置を返します。
selectionEnd unsigned long: 選択中のテキストの末尾の位置を返却または設定します。選択がない場合は、現在のテキスト入力カーソル位置の直後の文字のオフセットを返します。
selectionDirection string: 選択が行われた方向を返却または設定します。可能な値は次のとおりです。
forward は現在のロケールにおいての先頭から末尾の方向で選択された場合
backward は逆方向の場合
none は方向が不明な場合
size unsigned long: その要素の {{ htmlattrxref("size", "input") }} 属性を返却または設定します。これはコントロールの外見の大きさが入ります。この値は {{htmlattrxref("type","input")}} の値が text または password の場合は整数で文字数であり、それ以外の場合はピクセル単位です。 {{htmlattrxref("type","input")}} が textsearchtelurlemailpassword のいずれかに設定されている場合のみ適用され、それ以外の場合は無視されます。
未分類のプロパティ
defaultValue string: このオブジェクトを生成した HTML で最初に指定された既定値を返却または設定します。
dirName string: 要素の書字方向を返却または設定します。
accessKey string: 押されるとコントロールへの入力フォーカスを切り替える単一の文字が入った文字列を返します
list {{readonlyInline}} {{domxref("HTMLElement")}} object: {{ htmlattrxref("list", "input") }} 属性が指す要素を返します。同じツリーに HTML 要素がない場合、プロパティは null になることがあります。
multiple {{jsxref("Boolean")}}: その要素の {{ htmlattrxref("multiple", "input") }} 属性を返却または設定します。これは複数の値 (例えば複数のファイル) を持つことが可能であるかどうかを示します。
files {{domxref("FileList")}} array: 選択されたファイルのリストを返します
{{domxref("HTMLInputElement.labels")}} {{readonlyInline}} {{domxref("NodeList")}} array: この要素のラベルである {{ HTMLElement("label") }} 要素のリストを返します
step string: その要素の {{ htmlattrxref("step", "input") }} 属性を返却または設定します。これは、 {{htmlattrxref("min","input")}} や {{htmlattrxref("max","input")}} と共に、数値や日時の値を設定する際の増分を制限します。文字列 any または正の浮動小数点数を設定することができます。 any が設定されていない場合、コントロールは最小値よりも大きい step 値の倍数のみを受け入れます。
valueAsDate {{jsxref("Date")}} object: その要素の値を、日時として解釈して返却または設定します。変換が不可能であれば null を返します。
valueAsNumber double: その要素の値を、次のいずれかのうち一つとして解釈して返します。解釈は以下の順で行われます。
  • 時刻の値
  • 数値
  • 変換が不可能であれば NaN
autocapitalize {{experimental_inline}} string: ユーザーの入力を大文字化する動作を定義します。有効な値は noneoffcharacterswordssentences です。
inputmode この要素またはその内容を編集する際に使用する仮想キーボード設定の種類について、ブラウザーにヒントを与えます。
{{domxref("HTMLInputElement.align")}} {{obsolete_inline}}
string: 要素の配置を表します代わりに CSS を使用してください。
{{domxref("HTMLInputElement.useMap")}} {{ obsolete_inline }}
string: クライアント側イメージマップを表します

メソッド

{{domxref("HTMLOrForeignElement/blur", "blur()")}} input 要素からフォーカスを外します。キー入力はどこにも行かなくなります。
{{domxref("HTMLElement.click()", "click()")}} input 要素のクリックをシミュレートします。
{{domxref("HTMLOrForeignElement/focus", "focus()")}} input 要素にフォーカスを与えます。キー入力がこの要素に行くようになります。
{{domxref("HTMLInputElement.select()", "select()")}} input 要素のすべてのテキストを選択し、ユーザーがその内容をすべて置き換えることができるように、テキストにフォーカスを与えます。
{{domxref("HTMLInputElement.setSelectionRange()", "setSelectionRange()")}} input 要素のテキストの範囲を選択します (ただし、フォーカスは与えません)。
{{domxref("HTMLInputElement.setRangeText()", "setRangeText()")}} input 要素のテキストの範囲を新しいテキストで置き換えます。
setCustomValidity() 要素に独自の検証メッセージ設定します。このメッセージが空の文字列ではない場合、その要素は独自の検証のエラーに見舞われており、検証に不合格になります。
checkValidity() {{jsxref("Boolean")}} を返します。 false の場合はその要素が制約検証の候補であり、制約を満たしていないことを表します。この場合、その要素で {{event("invalid")}} イベントも発生します。 true の場合はその要素が制約検証の候補でないか、制約を満たしていることを表します。
reportValidity() checkValidity() メソッドを実行し、 false が返された場合 (無効な入力や pattern 属性が提供されていない場合) には、フォームを送信した場合と同様に、入力が無効であることをユーザーに報告します。
{{domxref("HTMLInputElement.stepDown()")}}
{{htmlattrxref("value","input")}} を ({{htmlattrxref("step","input")}} * n) だけ減少させます。 n が指定されなかった場合の既定値は 1 です。次の場合は INVALID_STATE_ERR 例外が発生します。
{{domxref("HTMLInputElement.stepUp()")}}
{{htmlattrxref("value","input")}} を ({{htmlattrxref("step","input")}} * n) だけ増加させます。 n が指定されなかった場合の既定値は 1 です。次の場合は INVALID_STATE_ERR 例外が発生します。
{{domxref("HTMLInputElement.mozSetFileArray()")}} {{non-standard_inline}}
入力欄で選択されたファイルを、与えられた {{domxref("File")}} オブジェクトの配列に設定します。これは、フレームスクリプトで使用可能な mozSetFileNameArray() の代替となるものです。クロームスクリプトはファイルを File オブジェクトとして開きメッセージマネージャーを介してそれらを送信することができます。
{{domxref("HTMLInputElement.mozGetFileNameArray()")}} {{non-standard_inline}}
その入力欄からすべてのファイル名の配列を返します。
{{domxref("HTMLInputElement.mozSetFileNameArray()")}} {{non-standard_inline}}
入力で選択されたファイルのファイル名を設定します。ファイルシステムにアクセスするので、フレームスクリプトでは使用できません。

イベント

以下のイベントは、 addEventListener() を用いるか、このインターフェイスの onイベント名 プロパティにイベントリスナーを割り当てるかして待ち受けしてください。

input
{{HTMLElement("input")}}、{{HTMLElement("select")}}、{{HTMLElement("textarea")}} のいずれかの要素の value が変更されたときに発生します。なお、このイベントは実際には {{domxref("HTMLElement")}} インターフェイス上で発生し、 contenteditable 要素にも適用されますが、フォーム入力要素で最も一般的に使用されるため、ここに挙げています。
oninput イベントハンドラープロパティからも利用できます。
invalid
制約検証時に、要素が制約を満たしていなかった場合に発生します。
oninvalid イベントハンドラープロパティからも利用できます。
search
{{HTMLElement("input")}} の type="search" で検索が開始されたときに発生します。
onsearch イベントハンドラープロパティからも利用できます。

仕様書

仕様書 状態 備考
{{SpecName('HTML WHATWG', "#htmlinputelement", "HTMLInputElement")}} {{Spec2('HTML WHATWG')}}
{{SpecName('HTML5 W3C', "forms.html#the-input-element", "HTMLInputElement")}} {{Spec2('HTML5 W3C')}} 技術的に、tabindexaccesskey の各プロパティ、ならびに blur()click()focus() の各メソッドが {{domxref("HTMLElement")}} で定義されるようになりました。
次のプロパティは廃止されました: align および useMap
次のプロパティが追加されました: autocomplete, autofocus, dirName, files, formAction, formEnctype, formMethod, formNoValidate, formTarget, height, indeterminate, labels, list, max, min, multiple, pattern, placeholder, required, selectionDirection, selectionEnd, selectionStart, step, validationMessage, validity, valueAsDate, valueAsNumber, width, willValidate.
次のメソッドが追加されました: checkValidity(), setCustomValidity(), setSelectionRange(), stepUp(), stepDown()
{{SpecName('DOM2 HTML', 'html.html#ID-6043025', 'HTMLInputElement')}} {{Spec2('DOM2 HTML')}} size プロパティが unsigned long になりました。type プロパティはすべて小文字で指定する必要があります。
{{SpecName('DOM1', 'level-one-html.html#ID-6043025', 'HTMLInputElement')}} {{Spec2('DOM1')}} 初回定義

ブラウザーの互換性

{{Compat("api.HTMLInputElement")}}

関連情報