我无法使用键盘删除键删除最后一个数字1
,就像<= 0
一样,然后值变为1
,所以我必须选择输入中的所有数字,得到的号码改变了吗?感谢
这不是改变数字的有效方法。
是否有更好的解决方案让我删除最后一位数字并使用键盘输入数字。
document.getElementsByClassName('numInput')[0].addEventListener("keyup", function(e) {
if (e.target.value > 10) {
this.value = 10;
} else if (e.target.value <= 0) {
this.value = 1;
}
});
&#13;
<input type="number" value=1 class="numInput">
&#13;
答案 0 :(得分:1)
您可以在length
替换1
之前检查输入值的e.target.value.length
:
document.getElementsByClassName('numInput')[0].addEventListener("keyup", function(e) {
if (e.target.value > 10) {
this.value = 10;
} else if (e.target.value.length && e.target.value <= 0) {
this.value = 1;
}
});
&#13;
<input type="number" value=1 class="numInput">
&#13;
答案 1 :(得分:1)
您可以在此处看到3种不同的方法:
function GetId(id) { return document.getElementById(id); }
function SetNumberInput(e, min, max) {
console.log(e)
if (e.value > max)
e.value = max;
else if (e.value.length && e.value < min)
e.value = min;
}
const input2 = GetId('numInput2')
input2.addEventListener("keyup", ()=>{SetNumberInput(input2, 1, 10)});
const input3 = GetId('numInput3')
input3.addEventListener("keyup", ()=>{SetNumberInput(input3, 1, 10)});
Min and Max in input tag<br>
<input type="number" min=1 max=10 value=1 id="numInput1"><br><br>
JavaScript add to input tag<br>
<input type="number" value=1 id="numInput2"><br><br>
Combined from above tags<br>
<input type="number" min=1 max=10 value=1 id="numInput3">
答案 2 :(得分:0)
数字类型输入是HTML5,这意味着您可以在元素上指定最小值和最大值。例如。 <input type="number" min="0" max="1">
。这里不需要Javascript。