Запрет ввода элемента javascript

157
09 апреля 2018, 00:28

Есть просто калькулятор на JavaScript, как сделать ограничение чтоб точку один раз вводить можно было? А то ввести можно 78.....10 Сильно не ругайте, лишь изучаю

Answer 1

Я бы сделал так:

input.onkeypress = e => !(e.key === "." && ~input.value.indexOf("."))
<input type="text" id="input" >

Мы следим за событием onkeypress, когда оно срабатывает мы проверяем какой символ, e.key === ".", и если в этом поле уже имеется этот символ ~input.value.indexOf("."), то делаем return false, и наш символ не добавляется в поле.

Answer 2

const input = document.querySelector('input'); 
 
input.addEventListener('keydown', e => { 
    if (e.key === '.' && input.value.indexOf('.') >= 0) e.preventDefault(); 
});
<input type="text">

Answer 3

повесь событие на ввод точки, которое будет ее писать в первый раз, и менять булеву переменную, а в последующие, проверкой этой переменной не делать ничего. ну и на бэкспейс с энтером менять ее значение на обратное. но с бэкспейсом тебе еще понадобится считывать позицию

READ ALSO
Сайт на DLE не воспринимает magnet ссылки

Сайт на DLE не воспринимает magnet ссылки

Сайт на DLE, не воспринимает magnet-ссылки magnet:?xt=urn:btih:1111111111111111111111111111111

173
как настроить php mail

как настроить php mail

Cоздал на apache сервере файл mailphp

250
Помогите разобраться в коде PHP

Помогите разобраться в коде PHP

Подскажите что означает каждая строка этого кода:

199