У меня есть текст ввода, где я хочу установить значение только с номером 1 - 10, только когда пользователь вводит значение, которое больше, чем текстовое поле, изменит его на 10 или, если меньше 0, текст изменится на 0. и текстовое поле также не принимает другие значения, чем число, которое я использовал для этого кода ниже, но он не работает, даже принимает буквы и независимо от того, какое значение я в него вставляю, оно принимает значение, которое я пропускаю в этом исходном тексте. есть ли необходимость js только для этой проблемы?
<input type="number" min="0" max="10"/>
использование min=1
и max=10
будет работать только тогда, когда пользователь вводит ввод с использованием стрелок, когда он/она записывает в поле ввода. Таким образом, вы можете использовать этот скрипт в комбинации с min and max
<input type="number" value="1" min="1" max="10">
скрипт
var t = false
$('input').focus(function () {
var $this = $(this)
t = setInterval(
function () {
if (($this.val() < 1 || $this.val() > 10) && $this.val().length != 0) {
if ($this.val() < 1) {
$this.val(1)
}
if ($this.val() > 10) {
$this.val(10)
}
}
}, 50)
})
$('input').blur(function () {
if (t != false) {
window.clearInterval(t)
t = false;
}
})
Вы должны использовать JS или jQuery, если вы хотите отключить пользователя от ввода всего, кроме цифр.
попробуйте следующее:
Only numbers please:
<input type="number" min="1" max="10" id="someid" onkeypress="return isNumberKey(event)" />
<script>
function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode;
var num = document.getElementById('someid').value;
if ((charCode > 31 && (charCode < 48 || charCode > 57)) || (num > 10)){
if (num > 10){
alert('choose number from 1-10');
}
return false;
}else{
return true;
}
}
</script>
input text only accepts number html
даст огромный список других вопросов переполнения стека по той же проблеме