У меня есть тег <h:inputText>
, и я хочу разрешить ввод только цифр не более 1 десятичного знака.
Это позволяет использовать только цифры, но я не могу разрешить ввод только одного десятичного знака.
<h:inputText value="#{bean.someNumber}"
size="6" styleClass="some-style"
onkeypress="if(event.which < 48 || event.which > 57) return false;"
pt:placeholder="0.0">
</h:inputText>
Я пытался добавить (event.which == 190)
к атрибуту onkeypress
, но не могу заставить его работать. (190 - клавиша .
)
Примечание: Это попытка ограничить то, что пользователь может ввести в поле ввода, не проверяя серверную часть, которая уже работает.
Буду признателен за любую помощь.
Обновление Я попытался изменить onkeypress
на pt:oninput
, как показано ниже. Он допускает только цифры и 1 десятичное место, но не допускает использование знака -
в качестве первого символа для отрицательных чисел.
pt:oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"