我有一个文本框,用户将输入一个数字。我想将这个数字限制在最多500万(5000000)。我想禁止任何会导致这个数字超过500万的按键。我知道我可以等待keyup然后使用值,但我想完全阻止按键。
如果在实际发生之前应用给定的keydown / keypress事件后,如何确定文本框的值是什么?
编辑:为清楚起见,请考虑以下情况:
该框目前包含数字“4000000”。
用户突出显示最后一个数字并将其更改为1,以使其变为“4000001”
但是用户可能只是添加了1到最后。 keydown事件看起来完全一样,但结果将超出我想要允许的值范围。
如果keydown事件正常应用,我需要知道盒子的价值是什么,但在发生之前我需要知道。
要明确的是,这篇文章并不是将文本字段限制为仅限数字。我有能力做到这一点。
答案 0 :(得分:1)
这就是你要找的吗?
var max = 4000000;
var last_value;
$('#someinput').on('input', function(e){
var value = $(this).val();
if(value<=max)
last_value = value;
else
$(this).val(last_value);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="someinput" type="number"/>
&#13;