<input type="date">

ブラウザ
  • Cr
  • O
分類 フロー・コンテンツ / フレージング・コンテンツ / インタラクティブ・コンテンツ / フォーム関連要素リスト化サブミット可能リセット可能再関連付け可能ラベル付け可能) / パルパブル・コンテンツ
利用場所 フレージング・コンテンツが置ける場所
内容

input要素type="date" を指定すると、日付(年月日)の入力欄を作成できます。


<input type="date" name="example1">

<input type="date" name="example2" value="2012-02-16">

属性
任意属性(共通)
type="" 部品のタイプ date 日付の入力欄
name="" 部品の名前 文字列 部品を識別するための名前
value="" 送信される値 日付(年月日) 入力欄の初期値 (書式: YYYY-MM-DD
disabled 部品の無効化 disabled 値は省略可能
form="" [+]フォームとの関連付け ID名 関連付けるform要素に指定したID名
autofocus [+]自動フォーカスの指定 autofocus 値は省略可能、1つの文書に1つだけ指定可能
任意属性
min="" [+]入力できる日付の最小値 日付(年月日) 最小値 (書式: YYYY-MM-DD
max="" [+]入力できる日付の最大値 日付(年月日) 最大値 (書式: YYYY-MM-DD
step="" [+]入力できる日付のステップ 日数 この値の間隔で入力を可能にする (初期値は 1
any ステップを設定しない
autocomplete="" [+]オートコンプリート on オートコンプリートを有効にする
off オートコンプリートを無効にする
list="" [+]入力候補のリスト ID名 関連付けるdatalist要素に指定したID名
readonly 読み取り専用 readonly 値は省略可能
required [+]入力必須 required 値は省略可能

type属性name属性value属性disabled属性form属性autofocus属性の詳細については、input要素のページを参考にしてください。

このタイプの特徴

日付(年月日)を入力するための入力欄です。

(実際の表示例)

このタイプに対応しているブラウザでは、カレンダーを使って日付を入力することができます。

日付の書式

入力する日付、及びvalue属性min属性max属性の値は、次の書式で記述する必要があります。

YYYY-MM-DD
2012-02-16
  • 年は4桁、月・日は各2桁で入力します。
<input type="date" name="example" value="2012-02-16">

min属性とmax属性について

min属性max属性は、入力できる日付の範囲を指定します。(どちらかのみを指定することも可能です)

  • min属性 … 入力できる日付の最小値を指定します。
  • max属性 … 入力できる日付の最大値を指定します。

次の例では、2012年の日付のみが入力可能となります。

<input type="date" name="example" min="2012-01-01" max="2012-12-31">

step属性について

step属性は、入力できる日付のステップ(入力値の間隔)を日数で指定します。type="date" の場合は 1 日が初期値となります。

次の例では7を指定しているので、7日間隔で入力できることになります。(例:7日、14日、21日 ...)

<input type="date" name="example" step="7">

min属性を指定している場合は、その日付からのステップとなります。

<input type="date" name="example" min="2012-02-13" step="7">

値に any を指定すると、ステップは設定されません。

<input type="date" name="example" step="any">

autocomplete属性について

autocomplete属性は、オートコンプリート機能(入力内容の自動補完)を使うかどうかを指定します。

値には on(使う)または off(使わない)を指定します。この属性を省略した場合は、form要素の設定内容が使用されます。(form要素にも指定されていない場合は on の状態がデフォルトとなります)

<input type="date" name="example" autocomplete="off">
  • HTML 5.1では、input要素のautocomplete属性に on / off 以外の値も指定できるようになりました(詳しくは仕様書をご覧ください)。これにより、きめ細やかな設定が行えるようになります。

list属性について

list属性は、入力候補リストの表示を指定します。この属性を使用する場合は、datalist要素で入力候補のリストを作成しておく必要があります。

値には、datalist要素に指定したID名を記述します。(datalist要素は、form要素の外に配置することも可能です)

<input type="date" name="example" list="data1">

<datalist id="data1">
<option value="2012-02-16"></option>
<option value="2012-02-17"></option>
<option value="2012-02-18"></option>
</datalist>
  • この属性を指定した場合、Chrome(55)ではリストの表示が優先されます(リスト内のその他を選択するとカレンダーが表示される)。また、Opera(12)ではカレンダーによる入力が優先されます(この属性で指定したリストが表示されない)。

readonly属性について

readonly属性は、そのフォーム部品が読み取り専用であることを指定します。

この属性が指定された部品は、書き換えだけができなくなります。選択することは可能で、データも送信されることになります。

<input type="date" name="example" readonly>
  • この属性が指定されたフォーム部品は、妥当性のチェックから除外されます。

required属性について

required属性は、そのフォーム部品が入力必須であることを指定します。

<input type="date" name="example" required>

使用例

min属性とmax属性を指定した例

<p><input type="date" name="example" min="2012-01-01" max="2012-12-31"></p>

表示例

  • 対応しているブラウザでは、2012年のカレンダーしか選択できなくなります。
step属性を指定した例

<p>デフォルト:<input type="date" name="example1"> (1日)</p>

<p>7日を指定:<input type="date" name="example2" step="7"></p>

<p>7日を指定:<input type="date" name="example3" min="2012-02-13" step="7"> (最小値あり)</p>

表示例

デフォルト: (1日)

7日を指定:

7日を指定: (最小値あり)

required属性を指定した例
  • 動作確認のため、送信先としてHTMLファイル(現在のページ)を指定しています。

<form method="get" action="input_date.html">

<p><input type="date" name="example" required> <strong>必須</strong></p>

<p><input type="submit" value="送信する"></p>

</form>

表示例

必須

  • 対応しているブラウザでは、送信時に入力内容の妥当性がチェックされ、不備があればエラーメッセージが表示されます。