Как разрешить номера от -999 до 999 только в поле ввода в JavaScript с событием нажатия клавиши? - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь ограничить поле ввода в JavaScript, чтобы оно имело только цифры от -999 до 999 с событием нажатия клавиши. Но так или иначе это терпит неудачу, может кто-то помочь мне с этим. Это то, что я пробовал до сих пор: -

if(((event.originalEvent.target.value.indexOf("-") > -1) && event.originalEvent.target.value.length === 4) || ((event.originalEvent.target.value.indexOf("-") < 0) && event.originalEvent.target.value.length === 3)) {
    event.preventDefault();
}

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Вы можете попробовать что-то вроде этого:

<script>
function allowRange(min, max, input) {
   if(input.value == '-' || (isNaN(input.value) == false && parseInt(input.value) >= min && parseInt(input.value) <= max)) {
   //do nothing
   }
   else {
      input.value = '';
   }
}
</script>

<input type="text" oninput="allowRange(-999, 999, this);">

Он автоматически сотрет любой вход, не входящий в диапазон.

0 голосов
/ 11 октября 2019

Используйте что-то вроде этого

<input type="number" name="yourName" min="-999" max="999">
...