下面是输入数字形式,使用JavaScript,我添加了几行代码,可写的最小数字为1,可写的最大数字为50。 而且,当有人尝试键入小于1且大于50的任何数字时,它会自动将其替换为数字1或50,但我无法成功实现这一点,我需要您的帮助。
document.getElementById('info1').addEventListener("input", function () {
let num = +this.value, max = 50, min = 1;
if (num > max || num < min) {
return false;
}
})
<input type="number" id="info1" size="4">
答案 0 :(得分:2)
已经有一个用于此精确目的的HTML属性对-min
和max
:
<input type="number" min="1" max="50">
如果您还希望在用户输入超出范围的数字时发生这种情况:
document.getElementById("inp").addEventListener("change", function() {
let v = parseInt(this.value);
if (v < 1) this.value = 1;
if (v > 50) this.value = 50;
});
<input type="number" min="1" max="50" id="inp">
答案 1 :(得分:1)
function imposeMinMax(el){
if(el.value != ""){
if(parseInt(el.value) < parseInt(el.min)){
el.value = el.min;
}
if(parseInt(el.value) > parseInt(el.max)){
el.value = el.max;
}
}
}
<input type=number min=1 max=50 onkeyup=imposeMinMax(this)>