Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№111-10-2011 14:37:13

Большой
Участник
 
Группа: Members
Зарегистрирован: 10-10-2011
Сообщений: 127
UA: Chrome 14.0

textbox number

Добрый день!

Есть textbox

Выделить код

Код:

<textbox type="number" min="3" max="50" align="center" width="40"/>

Можно ли запретить пользователю вводить текст непосредственно в само поле. т.е стрелками можно вручную в пол нет.
Или как запретить пользователю вводить значения не входящие в рамки (min, max)

Отсутствует

 

№211-10-2011 16:14:34

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 8.0

Re: textbox number

Большой
Навесить на текстбокс вот такой вот листенер:

Выделить код

Код:

document.getElementById("my-text-number-box").addEventListener("keypress",function(event)
{
  var key=event.keyCode || event.which;
  if (key<48 || key>57) return; 
  event.stopPropagation();
  event.preventDefault();
},false);

P.S. Не забудьте про буфер обмена (в т.ч. через контекстное меню).
P.P.S. И проверьте, что происходит со значением, если ввести что-то, выходящее за заданные рамки, и перевести фокус.

Отсутствует

 

№311-10-2011 18:32:23

Большой
Участник
 
Группа: Members
Зарегистрирован: 10-10-2011
Сообщений: 127
UA: Chrome 14.0

Re: textbox number

Спасибо.
я немного сделал по другому.

Выделить код

Код:

<textbox type="number" min="1" max="240" align="center" width="60" preference="pref_news_time_update" height="20" onchange="checkNumberTextBox(this,1,240);"/>

   function  checkNumberTextBox(box, min, max) {
        if(!box || !min || !max) return;
        var value = box.value;
        if(value > max)  value = max;
        else if(value < min)  value = min;
    }

Отредактировано Большой (11-10-2011 18:32:47)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]