Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ограничение на ввод символов в поле формы, Как сделать 
:(
    Опции темы
slang
Дата 31.5.2005, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



Уважаемые!
В JavaScript ни бум-бум, немного понимаю то что вижу, но сам наваять не смогу подскажите, как сделать так, чтобы в поле:
Код

<input type="text" name="telephone" value="">

можно было ввести только цифры. Т.е. чтобы при нажатии на другую кнопку, кроме естественно Enter, Tab символы не появлялись в поле. Если это не возможно, то хотя-бы поправьте следущий код:
Код

<script language="JavaScript">
<!-- hide

// ******************************************************
// Script from Stefan Koch - Voodoo's Intro to JavaScript
//     http://rummelplatz.uni-mannheim.de/~skoch/js/ 
//       JS-book: http://www.dpunkt.de/javascript
//    You can use this code if you leave this message
// ******************************************************

function check(input) {
  var ok = true;

  for (var i = 0; i < input.length; i++) {
    var chr = input.charAt(i);
    var found = false;
    for (var j = 1; j < check.length; j++) {
      if (chr == check[j]) found = true;
    }
    if (!found) ok = false;
  }
 
  return ok;
}

function test(input) {

  if (!check(input, '1', "2", "3", "4",
        "5", "6", "7", "8", "9", "0", "/", "-", " ")) {

    alert("Input not ok.");
  }
  else {
    alert("Input ok!");
  }
}

// -->
</script>

он при вводе любого символа выводит Input not ok, а Input ok! выводит, только если поле пустое
Форма:
Код

<form>
Telephone:
<input type="text" name="telephone" value="">
<input type="button" value="Check"
  onClick="test(this.form.telephone.value)"> 
</form>



--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
batigoal
Дата 31.5.2005, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Грубо говоря, так:
Код

<html>
<script>
function checkKey()
{
  if (event.keyCode >= 48 && event.keyCode <= 57) return true;
  else return false;
}
</script>
<body>
<form>
Telephone:
<input type="text" name="telephone" onKeyDown="return checkKey()"; >
</form>
</body>
</html>


1. Работает только в IE.
2. Нажатие Enter и Tab тоже блокируется



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Sardar
Дата 31.5.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Что бы работало везде пишем так:
Код
<script>
function checkKey(ev) {
  var key=ev.keyCode? ev.keyCode: ev.charCode;
  return (key >= 48 && key <= 57)? true: false;
}
</script>

<input type="text" name="telephone" onkeypress="return checkKey(event);" >



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
slang
Дата 31.5.2005, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



в Opere не работает.
нет-ли функции в Java [Модератор: smile ], с помощью которой можно определить введен в поле текст или число.
только, пожалуйста, не отправляйте меня к документации. есть у меня небольшая книжка и на досуге я ее обязательно перечитаю, пролистав ее - не нашел чего-то подходящего.
на подобие как в PHP:
is_numeric - определяет, является ли переменная числом или числовой строкой

Это сообщение отредактировал(а) Aliance - 31.5.2005, 19:53


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
o.s.a.
Дата 31.5.2005, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: 5
Всего: 15



Я пользуюсь вот такой кострукцией:
Код

function filter(ev) {
  var c=String.fromCharCode(ev.keyCode==0? ev.charCode: ev.keyCode);
  var allow=/[\d\w\x08\s?.,!]/;
  return allow.test(c);
}

Код

onkeypress="return filter(event)"


если нужны только числа, то
Код

 var allow=/[\d]/;



--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Sardar
Дата 1.6.2005, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Вот тебе такая функция:
Код
function isNummeric(txt) {
  return /^\s*(?:[\-])?[0-9]+\s*$/.test(""+txt);
}


P.S. елки, подумал что не туда запостил и удалил пост, Aliance, ставь памятку, что тему слил smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 1.6.2005, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137




Модератор: Сообщение скрыто.

PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1033 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.