Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Помогите!


Рекомендуемые сообщения

Нужна помощь - необходимо программить ввод - конкретно необходимо ограничить ввод некоторых клавиш. Т.е. можно вводить только цифры и буквы, а все остальные просто не вводятся. Есть простая прога - но она с русским яз. почему то не работает: <input id='age' type=text size=10

onkeypress='if ((event.keyCode < 48) ||

(event.keyCode >57)) event.returnvalue = false;'>

Так вот русский алфавит по коду ASCII от 224 до 255, но это не работает. Как сделать чтобы заработало?

Ссылка на комментарий
Поделиться на другие сайты

я так понял речь идет про JS ?

<html>

<body>

<script language="JavaScript">function keycheck(form) {var str,sym; str = form.elements[0].value; sym = str.charAt(str.length-1); if (sym == 'б') {    form.elements[0].value = form.elements[0].value.substring(0, str.length-1); }}</SCRIPT><form action="" method=POST name="frm"><input type=text name=inp onChange="keycheck(this.form)" onKeyUp="keycheck(this.form)"></form></body></html>
Ссылка на комментарий
Поделиться на другие сайты

я так понял речь идет про JS ? 

<html>

<body>

<script language="JavaScript">function keycheck(form) {var str,sym; str = form.elements[0].value; sym = str.charAt(str.length-1); if (sym == 'б') {    form.elements[0].value = form.elements[0].value.substring(0, str.length-1); }}</SCRIPT><form action="" method=POST name="frm"><input type=text name=inp onChange="keycheck(this.form)" onKeyUp="keycheck(this.form)"></form></body></html>

Спасибо конечно, но Ваш код не работает - все вводится - например (;#^& ) , а они вообще не должны вводиться, т.е. просто игнорируются. И кстати - там нет JS. Просто:

<html>

<head>

</head>

<body>

<input id='' type='text' size='30'

onkeypress="if ((event.keyCode < 48) ||

(event.keyCode > 57)) event.returnValue = false;">

</body>

</html>

Мне конечно все равно есть JS или нет, просто Ваш код почему-то не работает. Но за ответ спасибо.

Ссылка на комментарий
Поделиться на другие сайты

маленькое пояснение:

обращаем внимание на строчки

if (sym == 'б') {   form.elements[0].value = form.elements[0].value.substring(0, str.length-1);}

этой строчкой мы запретили ввод буквы "б"

запишем например так

 if (sym.toLowerCase() == 'щ' ||      sym == "&"               ||      sym == "%")                {    form.elements[0].value = form.elements[0].value.substring(0, str.length-1); }

Это мы запретили буквы щ, Щ и символы % и &

Далее деламем все по аналогии

Ссылка на комментарий
Поделиться на другие сайты

кстати, ваш код не работает только по одной причине, вы забыли тело оператора if заключить в {}, т.е. надо писать:

<input id='' type='text' size='30' onkeypress="if ( (event.keyCode < 48) || (event.keyCode > 57) ) [b]{[/b] event.returnValue = false; [b]}[/b]">

Замечу, что данный код будет обрабатываться не всеми браузерами. Поэтому я предпочитаю тот вариант который я привел выше

Ссылка на комментарий
Поделиться на другие сайты

ой ее)) как голова плохо думает ))))))

я имел в виду что не надо обращать внимание на теги

[b] и [/b]

2Moderator: Убейте плз пред. сообщение.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...