我有一个输入框,我希望只能在输入框中使用数字。
在输入框下方,我还想要一个计数器,显示当前输入框中字符的数量。
HTML:
<input type="text" id="test" onkeypress="return isNumber(event)" />
<p id='demo'></p>
Javascript:
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
let inputValue = document.getElementById('test').value;
let inputLength = inputValue.length;
document.getElementById("demo").innerHTML = inputLength;
return true;
}
jsfiddle: http://jsfiddle.net/s831nwej/
它几乎可以工作。问题在于输入框下面的字符计数器总是比输入框中的字符总数少1个字符。我认为这里有些关于keypress事件的技术细节我还没有掌握。
<input type="number" ...- adeneo