2013-11-29 3 views
0

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

<input type="number" min="0" max="10"/> 
+0

Где код? – buzzsawddog

+0

Привет, пожалуйста, всегда помните о Google. 'входной текст принимает только номер html' даст огромный список других вопросов переполнения стека по той же проблеме –

+0

извините, я закрыл его в <> он не показывал –

ответ

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

-1

Вы должны использовать 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, но он работает нормально. 1 от меня. bro –

Смежные вопросы