数値(type="number")
number
タイプのinput
要素は、数値のみを入力できるコントロールを表します。Opera、Safari、Chromeがnumber
タイプのinput
要素をサポートしています。
<input type="number">
このように、いずれのブラウザも、入力フィールドに値を直接に入力することもできますし、右側のスピンボタンを押して数値を動かすこともできます。
数値の範囲(type="range")
range
タイプのinput
要素は、数値をスライダーを使って指定できます。Opera、Safari、Chromeがrange
タイプのinput
要素をサポートしています。
<input type="range">
デフォルトでは、0から100の範囲の整数を1刻みでセットできます。value
属性が指定されていなければ、このコントロールのデフォルト値は50になります。もし数値の範囲や値を指定したい場合は、次のようにマークアップします。
<input type="range" value="35" min="20" max="100" step="5">
この例は、value
属性によって値を35にセットしています。そして、min
属性とmax
属性によって、選択範囲を20から100に限定しています。さらに、step
属性によって、5刻みで値を選択できるようにしています。
色(type="color")
color
タイプのinput
要素は、色を表す値を入力するコントロールを表します。HTML5仕様では、カラーピッカーのような色を選択するユーザーインタフェースが表示されることを想定しています。入力可能な値は、#000000
形式の文字列です。このコントロールはOperaが実装しています。
<input type="color">
サジェスト(datalist要素)
最後に、input
要素のtype
属性ではありませんが、HTML5で新たに導入されたサジェスト機能を紹介しましょう。HTML5には、新たにdatalist
要素が導入されました。この要素は、テキスト入力フィールドにサジェスト機能を組み込むための要素です。
<input type="seach" name="q" list="keywords"> <datalist id="keywords"> <option value="Canvas">Canvas</option> <option value="Web Workers">Web Workers</option> <option value="WebSocket">WebSocket</option> </datalist>
datalist
要素にはid
属性をセットしておきます。そして、input
要素のlist
属性に、datalist
要素のid
属性の値をセットすると、そのinput
要素にサジェスト機能を組み込むことができます。input
要素をクリックすると、datalist
要素にマークアップされた入力候補が表示され、それを選択することで、input
要素にその値がセットされます。
datalist
要素の中にはoption
要素をマークアップします。このoption
要素の値が入力候補になります。
2010年12月現在で、Firefox、Operaがdatalist
要素をサポートしています。なお、Operaであれば、color
タイプのinput
要素とdatalist
要素を組み合わせて、カラーピッカーに表示させる色を事前に決めることもできます。
<input type="color" name="color" value="#ff0000" list="colors"> <datalist id="colors"> <option label="白" value="#ffffff">#ffffff</option> <option label="黒" value="#000000">#000000</option> <option label="赤" value="#ff0000">#ff0000</option> <option label="緑" value="#00ff00">#00ff00</option> <option label="青" value="#0000ff">#0000ff</option> </datalist>