входной текст принимает только цифры от 1 до 10 [дубликаты]

0

У меня есть текст ввода, где я хочу установить значение только с номером 1 - 10, только когда пользователь вводит значение, которое больше, чем текстовое поле, изменит его на 10 или, если меньше 0, текст изменится на 0. и текстовое поле также не принимает другие значения, чем число, которое я использовал для этого кода ниже, но он не работает, даже принимает буквы и независимо от того, какое значение я в него вставляю, оно принимает значение, которое я пропускаю в этом исходном тексте. есть ли необходимость js только для этой проблемы?

<input type="number" min="0" max="10"/>
  • 0
    Где код?
  • 0
    Привет, пожалуйста, всегда помните в Google в первую очередь. input text only accepts number html даст огромный список других вопросов переполнения стека по той же проблеме
Показать ещё 8 комментариев
Теги:
jquery-mobile

2 ответа

2
Лучший ответ

использование 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;
    }
})

DEMO

0

Вы должны использовать 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>

http://jsfiddle.net/3F5rd/1/

  • 0
    с цифрой все в порядке, но она все еще не решает мою проблему. Я только хочу, чтобы пользователь ввел значение от 0 до 10, но она работает нормально.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню