I'm trying to do this in HTML for now where I have a input field of type=number
where I don't want the user to be able to type decimal values/special characters/alphabets at all. I also want the min=30
and max=300
so if a user types 29
and clicks else where, the value in the field should change to the min
which is 30
. If the user types in a value greater than 300
and clicks elsewhere, then I want the value to change to 300
which is the max. I don't want to wait for the user to wait for them to click on a form button. This is what I have so far, where the error is that, the user can still type decimal, and type any value lower than 30. Very new to html/js. Feel free to help me with js implementation if you think that is easier.
<input type="number" min="30" max="300" step="1" oninput="validity.valid||(value=value.replace(/\D+/g, ''))" id="seconds" name="seconds" value="30">