step 属性値の最小単位を指定する

step 属性は入力コントロールに対して入力可能な値の最小単位を指定します。

例えば、input type="number" で数値を入力させたいが、「5」 刻みの数値だけを入力してもらいたい場合は、step="5" と指定すれば、5の倍数となる数値しか入力できなくなり、HTML5 による入力データの検証が有効な環境では、それに合致しないデータが送信されようとしたときはエラーが表示されます。

なお、値に any を指定した場合は、値の最小単位が設定されていないという扱いになります。

step 属性に指定できる値は 0 より大きい値を持つ浮動小数点数です。

浮動小数点数を小数点形式で表す場合は整数部分、小数部分をピリオドで区切って 0.40.151.34 のように表します。当然ですが、整数部分だけでも構いません。

指数形式で表す場合は 1.15e2 (= 1.15×102 = 115)、1.34E2 (= 1.34×102 = 134)、4e-3 (= 4×10-3 = 0.004) ように表します。

ユーザエージェントは、step 属性で指定されたルールと入力コントロールの値が一致しない (簡単にいえば指定された step 属性のルールだと計算があわない) 場合、近似値をとって値を決定します。

指定する値は、type 属性の値によって異なります。type 属性値ごとの指定できる値、および初期値は下記の通りです。

type 属性値 step 属性値と初期値
type="datetime" 秒単位で指定する。初期値は 「60 (秒)」
type="date" 日単位で指定する。初期値は 「1 (日)」
type="month" 月単位で指定する。初期値は 「1 (月)」
type="week" 週単位で指定する。初期値は 「1 (週)」
type="time" 秒単位で指定する。初期値は 「60 (秒)」
type="datetime-local" 秒単位で指定する。初期値は 「60 (秒)」
type="number" 正の実数で指定します。初期値は 「1」
type="range" 正の実数で指定します。初期値は 「1」

step 属性の仕様

この属性を使用できる要素