Javascript 输入2个字符后,isNaN才会触发

Javascript 输入2个字符后,isNaN才会触发,javascript,Javascript,我的HTML代码是: <input onKeyPress="validateA(this.value)" type="text" id="AAA" name="AAA" size="10" placeholder="A"> <span id="aspan" class="validate"> </span> 为了澄清,我的问题是: 为什么innerHTML=“请输入一个数值。”在我的输入框中输入两个字母或数字之前不会触发?将onKeyPress()更改为o

我的HTML代码是:

<input onKeyPress="validateA(this.value)" type="text" id="AAA" name="AAA" size="10" placeholder="A">
<span id="aspan" class="validate">  </span>
为了澄清,我的问题是:

为什么
innerHTML=“请输入一个数值。”
在我的输入框中输入两个字母或数字之前不会触发?

onKeyPress()
更改为
onKeyPress()
因为当按键触发时,输入的实际值尚未捕获。

onKeyPress()
更改为
onkeypup()

因为当按键触发时,输入的实际值还没有被捕获。

是整个功能没有触发,还是仅仅是前几个字符没有触发的
isNaN
部分?@PeterOlson直到我输入了两个字符,整个功能才触发。是整个功能没有触发,还是仅仅是前几个字符没有触发的
isNaN
部分?@PeterOlson直到我输入了这两个字符,整个事件才触发。
function validateA(valueOfAAA) {
if (isNaN(valueOfAAA)) {
    document.getElementById('aspan').innerHTML="Please enter a numerical value.";

}
else {
    document.getElementById('aspan').innerHTML="";
}

}