Показать сообщение отдельно
  #12 (permalink)  
Старый 17.05.2011, 11:01
Интересующийся
Отправить личное сообщение для Pug-dog&Elephant Посмотреть профиль Найти все сообщения от Pug-dog&Elephant
 
Регистрация: 13.05.2011
Сообщений: 12

Продолжаю задавать вопросы. В одно из полей нужно вводить только числа и символ точки. Нагуглил скрипт
function check(input) {        //метод, проверяющий значение поля input
   var resultint="";           //здесь сохранит итоговый результат
   var accept = "1234567890."; //допустимые символы
  
   for (var i = 0; i < input.length; i++) {      //проходим циклом по введенному в поле значению
  
   var symbol="";                                //текущий символ
      for (var j = 0; j < accept.length; j++){   //вложенный цикл, проверяем каждый символ поля на допустимость
         if(input.charAt(i)==accept.charAt(j)) { //если символ разрешен
            symbol=input.charAt(i);
            resultint+=symbol;                   //добавляем его к resultint, таким образом, формируя его
         }
      }
   }
   document.getElementByName('price').value = resultint;
}

<input type='text' name='price' value='' onkeyup='checkNewAd();' onblur='check(this.form.price.value);'/>

Но он не работает

Есть ли какие иные пути фильтрации вводимых данных через JavaScript?

Update 1:
Нашёл также фильтр вводимых данных
Но всё равно не могу заставить работать
function check() {        //метод, проверяющий значение поля input
var price = document.getElementByName('price')[0];
price.value = price.value.replace(/[^0-9\.]/g,'');
}

<input type='text' name='price' value='' onkeyup='checkNewAd(); check();'/>

Последний раз редактировалось Pug-dog&Elephant, 17.05.2011 в 11:30.
Ответить с цитированием