输入值的最小值和最大值

时间:2019-06-22 21:01:09

标签: javascript html

下面是输入数字形式,使用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">

2 个答案:

答案 0 :(得分:2)

已经有一个用于此精确目的的HTML属性对-minmax

<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)>