input要素とは
<input>
要素は、
フォームのコントロール部品を表す要素です。この<input>
要素は、type
属性を使って、コントロール部品の種類を指定します。なお、基本的には<form>
要素内に配置して利用しますが、HTML5からは<form>
要素外でもform
属性を指定することで利用できるようになりました。
- 意味・役割
-
フォームのコントロール部品を表す要素
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
- コンテンツ・カテゴリ
-
type
属性の値が "hidden" 以外の場合は以下のカテゴリにも含まれる
(HTML5より前:インライン要素)
- コンテンツ・モデル(梱包できる要素)
-
空要素
- この要素を配置できる親要素
-
フレージング・コンテンツが配置できる要素
サンプルコード
input要素で使える属性
どの要素にでも使えるグローバル属性と以下の属性が使えます。
type属性
type
属性は、コントロール部品の種類を指定する属性です。この属性が省略された場合は、"text" になります。なお、HTML5より前は10種類の部品でしたが、HTML5では、さらに13種類追加され、23種類になりました。ただしブラウザによって実装状況がまちまちですので利用する際は、ブラウザの実装状況を確認してから利用しましょう。
- 属性値
-
下記の表を参照
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
HTML5より前から指定できるtype属性の属性値
属性値 |
部品の種類 |
text |
1行分のテキストフィールド |
password |
1行分のパスワードフィールド (表示上は「●」などで隠される) |
radio |
ラジオボタン (複数選択できない選択部品) |
checkbox |
チェックボックス (複数選択可能な選択部品) |
file |
ファイル送信用ボタン |
image |
画像を使った送信ボタン |
submit |
送信ボタン |
reset |
リセットボタン |
button |
汎用ボタン |
hidden |
非表示項目 |
HTML5で追加されたtype属性の属性値
属性値 |
部品の種類 |
search |
1行分の検索フィールド |
tel |
1行分の電話番号フィールド |
url |
1行分のURLフィールド |
email |
1行分のメールアドレスフィールド |
datetime |
日時入力用部品 (タイムゾーンあり) |
datetime-local |
日時入力用部品 (タイムゾーンなし) |
date |
年月日入力用部品 |
month |
年月入力用部品 |
week |
年週入力用部品 |
time |
時刻入力用部品 |
number |
数値入力用部品 |
range |
スライド型入力部品 |
color |
色入力用部品 |
name属性
name
属性は、
コントロール部品の名前を指定する属性です。このname
属性はユーザーが入力した値のラベルになります。従ってユーザーが入力した値を取り出す時に必要な名前になります。一般的には、どの質問に対してのコントール部品なのかがわかるように、質問内容を英語にした名前を指定します。
- 属性値
-
文字列
- 利用できる
type
属性の属性値
-
全て
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
value属性
value
属性は、type
属性で指定したコントール部品によって役割が異なります。
type
属性が "text" などのテキストフィールドの場合は、初期値を指定し、"radio" や "checkbox" などの選択部品の場合は、そのコントロール部品が選択された時に送信するデータ (値)を指定します。
また、"submit" や "reset" 、"button" などのボタンの場合には、ボタンの上に表示する文字列を指定する属性になります。なお、type
属性が "radio" 、 "checkbox" 以外の時は省略可能です。
- 属性値
-
type
属性が "text" などのテキストフィールドの場合: 初期値の文字列
type
属性が "radio" や "checkbox" などの選択部品の場合: 値として送信する文字列
type
属性が "submit" や "reset" 、"button" などのボタンの場合: ボタンの上に表示するの文字列
- 利用できる
type
属性の属性値
-
全て
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
disabled属性
disabled
属性は、
フォームのコントロール部品を無効にする属性です。この属性を指定した <input>
要素の値は送信されません。
- 属性値
-
"
disabled
": コントロール部品を無効にする
- 利用できる
type
属性の属性値
-
全て
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
form
属性は、
<input>
要素を、<form>
要素の中に配置したかった場合に、関連する<form>
要素を指定する属性です。
<input>
要素を、<form>
要素の中に配置したかった場合は必ず必要な属性で、属性値には<form>
要素に指定した、id
属性の値を指定します。
- 属性値
-
<form>
要素に指定した、id
属性の属性値
- 利用できる
type
属性の属性値
-
全て
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
autofocus属性 HTML5で追加
autofocus
属性は、
ページを表示した時点で、フォーカス (カーソル)を入れて入力可能状態にする属性です。なお、type
属性に "hidden"の場合は、フォーカスされません。
- 属性値
-
"autofocus"
: ページ表示時にフォーカスを入れる
- 利用できる
type
属性の属性値
-
"hidden"
以外
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
autocomplete属性 HTML5で追加
autocomplete
属性は、
<input>
要素に、ブラウザによる自動補完を利用するかを指定する属性です。ただし、現状(2017年1月現在)は、この属性で自動補完を "off" に指定してもブラウザによっては自動補完はされるものもあります。
- 属性値
-
"off"
: 自動補完を OFF にする
"on"
: 以前の入力内容をもとに自動補完を ON にする
"name"
: 姓名
"family-name"
: 性
"given-name"
: 名
"email"
: メールアドレス
"tel"
: 電話番号
"url"
: URL
"postal-code"
: 郵便番号
"country"
: 国
"address-level1"
: 都道府県
"address-level2"
: 市区町村
"address-line1"
: 番地・マンション名 (1行目)
"address-line2"
: 番地・マンション名 (2行目)
"organization"
: 会社名
など、詳細はWHATWG Standardを御覧ください。
- 利用できる
type
属性の属性値
-
"text"
、
"password"
、
"search"
、
"email"
、
"url"
、
"tel"
、
"date"
、
"datetime"
、
"datetime-local"
、
"month"
、
"week"
、
"time"
、
"number"
、
"range"
、
"color"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
required属性 HTML5で追加
required
属性は、
コントロール部品を必須項目にする属性です。
- 属性値
-
"required"
: 必須項目にする
- 利用できる
type
属性の属性値
-
"text"
、
"password"
、
"search"
、
"email"
、
"url"
、
"tel"
、
"date"
、
"datetime"
、
"datetime-local"
、
"month"
、
"week"
、
"time"
、
"number"
、
"radio"
、
"checkbox"
、
"file"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
list属性 HTML5で追加
list
属性は、
定義済みの入力候補リストを指定する属性です。入力候補リストは、<datalist>
要素で作成し、id
属性を指定します。そのid名をlist
属性の属性値に指定することで、定義済みの入力候補リストを作成できます。
- 属性値
-
<datalist>
要素のid名
- 利用できる
type
属性の属性値
-
"text"
、
"search"
、
"email"
、
"url"
、
"tel"
、
"date"
、
"datetime"
、
"datetime-local"
、
"month"
、
"week"
、
"time"
、
"number"
、
"range"
、
"color"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
readonly属性 HTML5で追加
readonly
属性は、
コントロール部品を読み取り専用にする属性です。この属性を指定しても値は送信されます。値を送信したくない場合は、disabled
属性を使用しましょう。
- 属性値
-
"readonly"
: 読み取り専用にする
- 利用できる
type
属性の属性値
-
"text"
、
"password"
、
"search"
、
"email"
、
"url"
、
"tel"
、
"date"
、
"datetime"
、
"datetime-local"
、
"month"
、
"week"
、
"time"
、
"number"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
placeholder属性 HTML5で追加
placeholder
属性は、
入力に関するヒントを指定する属性です。この属性を使用することで入力欄に予めこの属性のテキストが入り、ユーザーが何を入力すればいいのかというヒントになります。ただし、この属性を<label>
要素の代わりとして利用することは好ましくありません。
- 属性値
-
入力に関するヒントの文字列
- 利用できる
type
属性の属性値
-
"text"
、
"password"
、
"search"
、
"email"
、
"url"
、
"tel"
、
"number"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
size属性
size
属性は、type
属性に、"text"または、 "password"などのテキストフィールドが指定されている際の、入力フォームに表示される文字数 (半角)を指定する属性です。HTML5より前で、type
属性の値が、これら以外の場合にはピクセル値での指定が可能です。HTML5からは、"text"、"password"、"search"、"tel"、"URL"、"email"のテキストフィールドのみ有効です。
- 属性値
-
入力フォームに表示する半角の文字数 (初期値:"20")
- 利用できる
type
属性の属性値
-
"text"
、"password"
、"search"
、"email"
、"url"
、"tel"
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
maxlength属性
maxlength
属性は、type
属性に、"text"または、 "password"などのテキストフィールドが指定されている際の、入力フォームに入力できる最大の文字数 (半角)を指定する属性です。この属性は、type
属性の値が、"text"、"password"、"search"、"tel"、"URL"、"email"のテキストフィールドで有効です。この属性を指定しない場合は最大文字数の制限はされません。
- 属性値
-
入力できる最大の文字数 (半角)
- 利用できる
type
属性の属性値
-
"text"
、"password"
、"search"
、"email"
、"url"
、"tel"
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
minlength属性 HTML5で追加
minlength
属性は、type
属性に、"text"または、 "password"などのテキストフィールドが指定されている際の、入力フォームに入力する最小の文字数 (半角)を指定する属性です。この属性は、type
属性の値が、"text"、"password"、"search"、"tel"、"URL"、"email"のテキストフィールドで有効です。この属性を指定しない場合は最小文字数の制限はされません。
- 属性値
-
入力する最小の文字数 (半角)
- 利用できる
type
属性の属性値
-
"text"
、"password"
、"search"
、"email"
、"url"
、"tel"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
pattern属性 HTML5で追加
pattern
属性は、type
属性に、"text"または、 "password"などのテキストフィールドが指定されている際の、入力チェックを行う正規表現を指定する属性です。
この属性を使って入力できる書式を限定する際は、title
属性を使って、ユーザーにどの書式で入力してもらうかを提供しましょう。
- 属性値
-
正規表現
- 利用できる
type
属性の属性値
-
"text"
、"password"
、"search"
、"email"
、"url"
、"tel"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
pattern属性で使える正規表現の例
用途 |
正規表現 |
説明 |
郵便番号 |
"^\d{3}-\d{4}$" |
「123-4567」の書式 |
電話番号 |
"^\d{2,5}-\d{1,4}-\d{4}$" |
国内の「00-0000-0000」や「000-0000-0000」などの書式 |
8文字以上の半角英数字 |
"^([a-zA-Z0-9]{8,})$" |
小文字、大文字のアルファベットと数字の組み合わせで8文字以上 |
全角ひらがな |
"^[ぁ-ん]+$" |
「あ 〜 ん」の、全角ひらがなのみ(文字エンコーディングは、"UTF-8") |
全角カタカナ |
"^[ァ-ンヴー]+$" |
「ア 〜 ン」と「ヴ」、「ー」の、全角カタカナのみ(文字エンコーディングは、"UTF-8") |
inputmode
属性は、
type
属性に "text"、"password"、"search"が指定されている場合に、どのキーボードを表示するかを指定する属性です。
- 属性値
-
"verbatim"
: 文章ではない英数字 (Ex.ユーザー名、パスワード、製品コード など)
"latin"
: 入力補助があるラテン文字 (人間とコンピュータのコミュニケーション用) (Ex.検索ボックス など)
"latin-name"
: 入力補助があるラテン文字 (人名用)
"latin-prose"
: 入力補助があるラテン文字 (人間同士のコミュニケーション用) (Ex.電子メール、インスタントメッセージ など)
"full-width-latin"
: 入力補助があるラテン文字 ("latin-prose"の全角)
"kana"
: 日本語用のひらがな入力、ローマ字入力
"kana-name"
: 日本語用のひらがな入力、ローマ字入力 (人名用)
"katakana"
: 日本語用のカタカナ入力
"numeric"
: 0〜9の数値入力 (Ex.クレジットカードの番号 など)
"tel"
: 0〜9、「#」、「*」 の電話番号入力 (可能であれば <input type="tel">
を使用する)
"email"
: 「@」などを含んだメールアドレス入力 (可能であれば <input type="email">
を使用する)
"email"
: 「/」などを含んだURL入力 (可能であれば <input type="url">
を使用する)
- 利用できる
type
属性の属性値
-
"text"
、
"password"
、
"search"
- 利用できるバージョン(HTML4.01以降)
-
HTML5.1 〜
dirname属性 HTML5で追加
dirname
属性は、
type
属性に "text"、"search"が指定されている場合に、テキストの方向 ("ltr"
、"rtl"
)を送信する際に使うキーを指定する属性です。
- 属性値
-
テキストの方向の送信に使うキー
- 利用できる
type
属性の属性値
-
"text"
、
"search"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
multiple属性 HTML5.1で追加
multiple
属性は、
type
属性に "email"、"file"が指定されている場合に、複数のデータを送信できるようにする属性です。
- 属性値
-
"multiple"
:複数の値を送信できるようにする
- 利用できる
type
属性の属性値
-
"email"
、
"file"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
max属性 HTML5で追加
max
属性は、type
属性に、"date"または、 "number"、"range"などの数値のフィールドが指定されている際の、最大値を指定する属性です。
- 属性値
-
数値
- 利用できる
type
属性の属性値
-
"date"
、
"datetime"
、
"datetime-local"
、
"month"
、
"week"
、
"time"
、
"number"
"range"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
min属性 HTML5で追加
min
属性は、type
属性に、"date"または、 "number"、"range"などの数値のフィールドが指定されている際の、最小値を指定する属性です。
- 属性値
-
数値
- 利用できる
type
属性の属性値
-
"date"
、
"datetime"
、
"datetime-local"
、
"month"
、
"week"
、
"time"
、
"number"
"range"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
step属性 HTML5で追加
step
属性は、type
属性に、"date"または、 "number"、"range"などの数値のフィールドが指定されている際の、増加量を指定する属性です。
- 属性値
-
数値
- 利用できる
type
属性の属性値
-
"date"
、
"datetime"
、
"datetime-local"
、
"month"
、
"week"
、
"time"
、
"number"
"range"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
checked属性
checked
属性は、type
属性に、"radio"または、 "checkbox"が指定されている際に、デフォルトで選択状態 (チェックしている状態)にする属性です。
- 属性値
-
"
checked
": 予め選択状態にする
- 利用できる
type
属性の属性値
-
"radio"
"checkbox"
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
formaction
属性は、
type
属性に "submit" または、"image"が指定されている場合に、データの送信先を指定する属性です。この属性は<form>
要素のaction
属性より優先されます。
- 属性値
-
データ送信先のパス
- 利用できる
type
属性の属性値
-
"submit"
、
"image"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
formmethod
属性は、
type
属性に "submit" または、"image"が指定されている場合に、フォームの送信方法を指定する属性です。フォームの送信方法には "get"
と "post"
があります。
なお、この属性は<form>
要素のmethod
属性より優先されます。
- 属性値
-
- "get": HTTP GETメソッド。データをURLの末尾に付加して送信
- "post": HTTP POSTメソッド。データをHTTPリクエストのリクエストボディに付加して送信
- 利用できる
type
属性の属性値
-
"submit"
、
"image"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
formenctype
属性は、
type
属性に "submit" または、"image"が指定されている場合の、コンテンツの種類を指定する属性です。
なお、この属性は<form>
要素のenctype
属性より優先されます。
- 属性値
-
"application/x-www-form-urlencoded"
: 「name属性の名前=value属性の値」の書式でURLエンコードされ送信される
"multipart/form-data"
: フォームからファイルを送信する場合に指定
"text/plain"
: 変換されずに送信 (action
属性に "mailto:メールアドレス" を指定した際などに指定)
- 利用できる
type
属性の属性値
-
"submit"
、
"image"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
formnovalidate
属性は、
type
属性に "submit" または、"image"が指定されている場合、フォームが送信された時に入力内容の妥当性のチェックを無効にする属性です。
なお、この属性は<form>
要素のnovalidate
属性より優先されます。
- 属性値
-
"formnovalidate"
: 妥当性のチェックを無効にする
- 利用できる
type
属性の属性値
-
"submit"
、
"image"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
formtarget
属性は、
type
属性に "submit" または、"image"が指定されている場合に、データを受け取るファイルを表示する場所を指定する属性です。属性値にはウインドウまたはタブの名前を指定するか、アンダースコアから始まる特別なキーワードが指定できます。
なお、この属性は<form>
要素のtarget
属性より優先されます。
- 属性値
-
ウインドウまたはタブの名前または、以下のアンダースコアから始まる特別なキーワード
- "_blank": 新しいウインドウまたはタブでリンク先のページを表示
- "_self": 現在のウインドウまたはタブでリンク先のページを表示(初期値)
- "_parent":
<iframe>
要素を使っていて親ページがある場合は親のウインドウまたはタブに表示。なければ_seftと同じ
- "_top":
<iframe>
要素を使っていて親ページがある場合は、最も上位の親のウインドウまたはタブに表示。なければ_seftと同じ
- 利用できる
type
属性の属性値
-
"submit"
、
"image"
- 利用できるバージョン(HTML4.01以降)
-
HTML5 〜
src属性
src
属性は、sourceの略で、
type
属性に "image" を指定した際に、送信ボタンの画像ファイルの場所を指定する属性です。
- 属性値
-
- 利用できる
type
属性の属性値
-
"image"
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン
alt属性
alt
属性は、alternateの略です。
type
属性に "image" を指定した際に、画像を視覚的に見ることができない場合の代替えテキストを指定します。
このalt
属性は、画像を視覚的に見ることができないユーザー(音声ソフトなどを利用しているユーザー)に対して、この画像が何を表しているのかを伝える重要な属性になります。
- 属性値
-
- 利用できる
type
属性の属性値
-
"image"
- 利用できるバージョン(HTML4.01以降)
-
全てのバージョン