限制输入以仅显示HTML或JS中的thousans

时间:2018-01-16 09:47:12

标签: javascript html input

我有一个输入字段,用户可以输入一些数字。我想限制用户只输入数千。

please see image

在图像上,即使步长为1000,用户也可以输入其他数字。

4 个答案:

答案 0 :(得分:0)

当你失去焦点时会执行

onblur,所以试试这个:

function autoThousand(){
  var input = document.getElementById('thousand');
  if (input.value%1000 !== 0 ){
    input.value-=input.value%1000;
  }
}
<input type="number" id="thousand" onblur="autoThousand();" step="1000">

答案 1 :(得分:0)

使用此,

如果你仍然想让字段编号字段设置type =“number”,step =“1000”,min =“1000”max =“你选择的任何值”

<input type="text" name="quantity" id="num" onchange="checkInput()">
<script>
function checkInput(){
get_num = new Number(document.getElementById('num').value)
if(get_num < 1000){
document.getElementById('num').value =  ""
alert("You must enter number in thousands")
}
}
</script>

答案 2 :(得分:0)

当它们失去焦点时,这会将所有数字输入舍入为其步长值的倍数。它使用传统的舍入,它将1499向下舍入到1000和1500到2000.(您可以删除注释的代码行以始终向下舍入。)

这是其中一个“添加并忘记它”代码,您只需添加类型编号的输入,并带有限制,它会自动将它们全部舍入给您

document.querySelectorAll("input[type=number][limit]").forEach(function(input) {
  input.addEventListener("change", function() {
    var value = parseInt(this.value, 10);
    var limit = parseInt(this.getAttribute("limit"), 10);
    value = value + (limit / 2); // remove this to always round down
    this.value = value - (value % limit);
  });
});
<input type="number" limit="1000" />(multiples of 1000)<br />
<input type="number" limit="100" />(multiples of 100)<br />
<input type="number" limit="500" />(multiples of 500)<br />

答案 3 :(得分:-1)

设置'max','min'和'step'值。

  <input type="number" name="points" step="1000" max="100000" min="1000">