我希望有一个文本框,使用javascript接受介于1-999之间的数字值,并且必须使用keypress事件,因为uswr不应该被允许在文本框本身中输入o,但是说foreg 106应该是允许的值。目前我能够重新打0,然后它不允许用户为以后的数字输入0,因为它不允许输入105 我正在使用icefaces所以不能在这里使用html5而且必须实现使用js并使用onkeypress事件作为用户shud甚至不允许输入值
我使用过的代码片段如下 onkeypress =" if(event.which< 49 || event.which> 57)返回false;
答案 0 :(得分:0)
您不需要JavaScript,您可以使用HTML5。看那个
<input type="number" min="0" max="999" step="1">
答案 1 :(得分:0)
使用此功能,
function isMyNumber(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
var num = parseInt(document.getElementById('txtNumber').value, 10);
if(num < 0 || num > 999) {
return false;
}
return true;
}
打电话,
<input type="text" name="txtNumber" id="txtNumber" onkeypress="return isMyNumber(event);" />
希望这有效,谢谢。
答案 2 :(得分:0)
<script>
function valid(num){
res = !isNaN(num)&&num>=1&&num<=999;
if(!res)
alert('Please enter a valid number from 1 to 999');
return res;
}
</script>
<input type='text' onchange='this.value=(valid(this.value)?this.value:"");this.focus();'>