<input type="number">
<input type="number">は、数値に限定した入力ができる input のタイプです。FORM エレメント使用してサーバーにデータが送信できます。
最大値と最小値が設定できます。
<label> エレメントによって項目名や説明を付けることができます。
CSS、スタイルシートを利用して入力値を検証するには:in-range、:out-of-rangeクラスを使います。
入力値の範囲によって自動的にスタイルを反映します。
送信時に入力内容をチェックするは、oninvalid イベントハンドラーを利用します。 最小値、最大値があっているか、required 属性が指定しているかを設定することができます。
数値の右寄せ、3桁ごとのカンマ,
、桁合わせについては数値の書式
を、上下ボタンを非表示にするには上下ボタンの非表示
を参照してください。
属性
グローバル属性も持ちます。以下に主な属性のみを示します。
ここでは送信するという前提でnameパラメーターは付けるようにしています。送信したくないデータにはnameパラメーターを付けない方法があります。
数値の書式
デフォルトの <input> では左寄せで表示され、等幅フォントではないため桁合わせが上手くいきません。さらには3桁ごとのカンマ,
も表示されません。
一般的に、多くの数値は右寄せで桁が合うように表示されます。右寄せに表示するには CSS でtext-align: right;
を使用します。
さらに桁を合わせて表示するにはフォントをfont-family
プロパティで等幅フォント
にします。これらのことを CSS のセレクターでinput type="number"
に対して反映するようにします。
3桁区切り
においては、JavaScript と <input type="text"> を使って3桁区切り
に表示する方法があります。
しかし、サーバーにデータを送る段階で数値に戻す必要が出てきます。サーバー送信までを考えると、テキストとして3桁区切り
で表記しないで type="number" のままで扱った方が無難です。
詳しくは数値の書式について
を参照してください。
上下ボタンの非表示
数値を入力の補助をする右側に表示される上下ボタン(スピンボタン)を非表示にするには以下のようにスタイル宣言をします。
関連typeについて
- button... 汎用ボタン。scriptに利用する
- checkbox... 複数選択が可能。選択済みにするにはcheckedパラメータを追記する
- color... カラーピッカー。色選択に使用します。
- date... 日付け
- datetime-local... 日付けと時刻(ローカルタイムゾーン)
- email... emailアドレス
- file... ファイルのアップロード
- hidden... 画面に表示しないがサーバーに送信するデータ
- image... 任意の画像を利用したカスタム用ボタン
- month... 年度と月度
- number... 数値
- password... パスワード入力
- radio... 選択肢が必要な場合
- range... 調整バーによる数値入力
- reset... リセットボタン。入力データをクリア
- search... 検索用
- submit... 送信ボタン
- tel... 電話番号
- text... テキスト入力。改行を含む場合は<textarea>を
- time... 時刻
- url... URL
- week... 年度の第何週目か