我正在创建一个表单,我希望输入标记只接受数字,我也希望将数字限制为0 - 20.
这是我的HTML代码:
<input type="text" name="three" class="actual" id="three" maxlength="2" onkeypress="return ForNumbers(event)" />
这是我的javascript代码:
<script type="text/javascript">
function ForNumbers(evt){
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
答案 0 :(得分:5)
应该能够做到这样的事情:
if (input.value < 0) input.value = 0;
if (input.value > 20) input.value = 20;
如果这就是你的意思那么简单。
当输入的值发生变化(onChange
)时,你可以通过它们看到限制来运行它。
<input type="text" onchange="limiter(this);" />
function limiter(input) {
if (input.value < 0) input.value = 0;
if (input.value > 100) input.value = 100;
}
答案 1 :(得分:2)
如果您需要支持旧版浏览器,请尝试以下操作:
function ForNumbers(evt){
var charCode = (evt.which) ? evt.which : event.keyCode;
if (
//0~9
charCode >= 48 && charCode <= 57 ||
//number pad 0~9
charCode >= 96 && charCode <= 105 ||
//backspace
charCode == 8 ||
//tab
charCode == 9 ||
//enter
charCode == 13 ||
//left, right, delete..
charCode >= 35 && charCode <= 46
)
{
//make sure the new value below 20
if(parseInt(this.value+String.fromCharCode(charCode), 10) <= 20)
return true;
}
evt.preventDefault();
evt.stopPropagation();
return false;
}
它也适用于:
<input id="numIpt" type="number" min="0" max="20" maxlength="2" />
答案 2 :(得分:0)
使用html类型编号和内嵌元素min="1"
和max="20"
来限制输入字段。
<input type="number" min="1" max="20" />