如何检测用户何时在输入类型编号中键入字符串?

时间:2019-03-01 14:10:41

标签: javascript jquery forms

我有一个带有输入类型编号的表格。我想在用户键入字符串时显示一条消息。
当我尝试检索输入的值时,总是得到一个空字符串。
当我键入数字时,它可以正常工作,但不能与字符串一起使用... 我尝试使用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 :(得分:1)

输入数字只能输入数字

var inputValJs = document.getElementById("myInput").value;
console.log(inputValJs);
<input type="number" id="myInput" name="tentacles" value ="33">

答案 1 :(得分:1)

如果您确实需要输入文字,则可以执行以下操作:

事件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'>

答案 2 :(得分:1)

数字类型输入仅接受数字值。

要获取输入值,请使用事件监听器:

var myValue = '';

document.getElementById("myInput").addEventListener('input', function(e) {
   myValue = e.target.value;
   console.log(myValue);
});
<input type="number" id="myInput">