Как определить, когда пользователь вводит строку в число ввода типа? - PullRequest
0 голосов
/ 01 марта 2019

У меня есть форма с номером типа ввода.Я хочу отобразить сообщение, когда пользователь вводит строку.
Когда я пытаюсь получить значение ввода, я всегда получаю пустую строку.
Когда я набираю число, оно работает нормально, но не со строкой... Я пробовал и с jQuery, и с javascript.

        var inputVal = $(this).val();
        var inputValJs = document.getElementById("myInput").value;
        console.log(inputVal); // if 99 => 99   if test => ''
        console.log(inputValJs); // if 99 => 99   if test => ''

Как мне поступить?

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Если вам действительно нужен вводимый текст, вы можете сделать следующее:

Событие input фиксирует изменения во входном тексте.

var messageElem = document.querySelector('#myMessage');
document.querySelector('#myInput').addEventListener('input', function(e) {
  if (this.value === '' || /^[0-9]+$/.test(this.value)) {
    messageElem.textContent = "";
  } else {
    messageElem.textContent = "Only numbers";
  }
});
<input type="txt" id='myInput'>
<p id='myMessage'>
0 голосов
/ 01 марта 2019

Ввод числового типа допускает только числовое значение.

Для извлечения входного значения используйте прослушиватель событий:

var myValue = '';

document.getElementById("myInput").addEventListener('input', function(e) {
   myValue = e.target.value;
   console.log(myValue);
});
<input type="number" id="myInput">
0 голосов
/ 01 марта 2019

Номер типа ввода позволяет вводить только цифры

var inputValJs = document.getElementById("myInput").value;
console.log(inputValJs);
<input type="number" id="myInput" name="tentacles" value ="33">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...