I have an input type="number" where the min value is 1, the max is 10. I want to prevent inputting a value greater or less than max and min, so I use this script:
$('input[name=inputModal1]').keyup(function(){
if($(this).val()>10){
$(this).val(10);
}else if($(this).val()<1){
$(this).val(1);}
});
$('input[name=inputModal2]').keydown(function(){
if($(this).val()>10){
$(this).val(10);
}else if($(this).val()<1){
$(this).val(1);}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" name="inputModal1" min="1" max="10" value="1">
<input type="number" name="inputModal2" min="1" max="10" value="1">
In this kind the script works, but I want to use keydown, it prevents entering more or less than the maximum and minimum value, but keyup gives more or less typing if the user presses and holds the button. What could be the reason that keydown is not working? I can remove the value, make it more than 10, etc.
Let me know if you need more information.