我正在尝试添加一个只接受1到99之间整数的文本框。我尝试添加一个带有min和max的数字类型元素,但只有在使用自动收报机更改数字时才有效
Apple
我可以知道更好的方法吗?
更新
我想立即验证输入,可能是用空字符替换条目。
答案 0 :(得分:1)
您可以使用JavaScript来验证关键事件(例如keyup
)的输入。这是一个清除任何不是1到99之间整数的例子。
var inputBox = document.getElementById('inputBox');
inputBox.addEventListener('keyup', function(e) {
inputBox.value = "" + inputBox.value;
if (e.which < 48 || e.which > 57) {
// if not an integer
clearInput();
return;
}
if (inputBox.value.toLowerCase() !== inputBox.value.toUpperCase()) {
// if a letter
clearInput();
return;
}
if (parseInt(inputBox.value) < 1 || parseInt(inputBox.value) > 99) {
// if value is not in the desired range
clearInput();
return;
}
});
function clearInput() {
// invalid entry -- clear out input box
inputBox.value = "";
}
inputBox.focus(); // this is just for ease of testing
&#13;
<input id="inputBox" type="number" min="1" max="99" />
&#13;
答案 1 :(得分:0)
这个怎么样?这不应该允许负数,并且您只能使用2个字符。
<input type="number" min="1" max="99" maxlength="2" />