Как запретить вводить в инпут number после , все цифры кроме 5?
Есть калькулятор с инпутами типа number с step=0.5. Шаг (0,5) запрещает ввод стрелочками чисел типа 7,78 или 4,11175649, но не запрещает их ввод вручную. Как запретить вводить все цифры кроме 5 в качестве первой цифры после запятой?
Спасибо! |
Если шаг 0.5, но ввели к примеру 0.15, то современный браузер все равно не отправит форму, уже при потере фокуса этот элемент будет отображать ошибку в нем.
|
Да, но речь идет о калькуляторе стоимости продукции. Клиент может посчитать, просто для сравнения цен, но не сделать заказ (не отправить форму). А при вводе к примеру 7,3 расчет будет с учетом этого числа. Поэтому лучше запретить ввод подобных чисел. Я в js новичок. Есть идея сделать это через CharCode, только вот как сделать? По идее нужно запретить нажатие цифр после "." (кроме 5).
|
<!DOCTYPE HTML> <body> <input type="number" step="0.5" /> </body> </html> Введите отличное от 0.5 и щелкните вне поля ввода, браузер покажет ошибку. Ну и можно проверять в добавок ввод, чтобы отобразить сообщение. Если просто запретить без всяких диалогов то просто добавьте полю onkeypress="return false". |
Google Chrome Версия 46.0.2490.71 m могу ввести к примеру 7,3 никаких предупреждений не выходит, если перещёлкнуть стрелочкой значение, то оно сменится на ближайшее 7,5 или 7. Хром ругается только при отправки формы, а при вводе молчит.
|
ArmaTiK,
:-? <input type="number" step="0.5" oninput="var v = this.value;this.value=v.replace(/[.,]\d+/,'.5')" /> |
Часовой пояс GMT +3, время: 12:29. |