number
タイプには、step
有効な数値を制御する値 (および とともに)max
がmin
あり、デフォルトは1
です。この値は、ステッパー ボタンの実装でも使用されます (つまり、上に押すと が増加しstep
ます)。
この値を適切なものに変更するだけです。金額については、おそらく小数点以下 2 桁が予想されます。
<input type="number" step="0.01">
(min=0
正の値しか設定できない場合も設定します)
任意の小数点以下桁数を許可したい場合は、 を使用できますstep="any"
(ただし、通貨の場合は に固執することをお勧めし0.01
ます)。Chrome と Firefox では、ステッパー ボタンは を使用すると 1 ずつ増減しますany
。(指摘してくれたMichal Stefanowの回答に感謝し、関連する仕様any
を参照してください here )
さまざまなステップがさまざまな入力タイプにどのように影響するかを示す遊び場を次に示します。
<form>
<input type=number step=1 /> Step 1 (default)<br />
<input type=number step=0.01 /> Step 0.01<br />
<input type=number step=any /> Step any<br />
<input type=range step=20 /> Step 20<br />
<input type=datetime-local step=60 /> Step 60 (default)<br />
<input type=datetime-local step=1 /> Step 1<br />
<input type=datetime-local step=any /> Step any<br />
<input type=datetime-local step=0.001 /> Step 0.001<br />
<input type=datetime-local step=3600 /> Step 3600 (1 hour)<br />
<input type=datetime-local step=86400 /> Step 86400 (1 day)<br />
<input type=datetime-local step=70 /> Step 70 (1 min, 10 sec)<br />
</form>
いつものように、簡単なメモを追加します。クライアント側の検証は、ユーザーにとって便利であることを覚えておいてください。サーバー側でも検証する必要があります。