number
Тип имеет step
значение контрольного числа , которые являются действительными (наряду с max
и min
), который по умолчанию 1
. Это значение также используется реализациями для кнопок шагового режима (т. Е. Нажатие вверх увеличивается на step
).
Просто измените это значение на то, что подходит. За деньги, вероятно, ожидается два десятичных знака:
<input type="number" step="0.01">
(Я бы также установил, min=0
если это может быть только положительным)
Если вы предпочитаете использовать любое количество десятичных знаков, вы можете использовать их step="any"
(хотя для валют я бы рекомендовал придерживаться 0.01
). В Chrome и Firefox кнопки управления шагом увеличиваются / уменьшаются на 1 при использовании any
. (благодаря ответу Михала Стефанова за указание any
, и смотрите соответствующую спецификацию здесь )
Вот игровая площадка, показывающая, как различные шаги влияют на различные типы ввода:
<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>
Как обычно, я добавлю небольшое замечание: помните, что проверка на стороне клиента - это просто удобство для пользователя. Вы также должны проверить на стороне сервера!