SsS Опубликовано 7 августа, 2003 Жалоба Поделиться Опубликовано 7 августа, 2003 Нужна помощь - необходимо программить ввод - конкретно необходимо ограничить ввод некоторых клавиш. Т.е. можно вводить только цифры и буквы, а все остальные просто не вводятся. Есть простая прога - но она с русским яз. почему то не работает: <input id='age' type=text size=10 onkeypress='if ((event.keyCode < 48) || (event.keyCode >57)) event.returnvalue = false;'> Так вот русский алфавит по коду ASCII от 224 до 255, но это не работает. Как сделать чтобы заработало? Ссылка на комментарий Поделиться на другие сайты Поделиться
msengine Опубликовано 7 августа, 2003 Жалоба Поделиться Опубликовано 7 августа, 2003 я так понял речь идет про 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> Ссылка на комментарий Поделиться на другие сайты Поделиться
SsS Опубликовано 7 августа, 2003 Автор Жалоба Поделиться Опубликовано 7 августа, 2003 я так понял речь идет про 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 или нет, просто Ваш код почему-то не работает. Но за ответ спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
msengine Опубликовано 8 августа, 2003 Жалоба Поделиться Опубликовано 8 августа, 2003 маленькое пояснение: обращаем внимание на строчки 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); } Это мы запретили буквы щ, Щ и символы % и & Далее деламем все по аналогии Ссылка на комментарий Поделиться на другие сайты Поделиться
msengine Опубликовано 8 августа, 2003 Жалоба Поделиться Опубликовано 8 августа, 2003 кстати, ваш код не работает только по одной причине, вы забыли тело оператора if заключить в {}, т.е. надо писать: <input id='' type='text' size='30' onkeypress="if ( (event.keyCode < 48) || (event.keyCode > 57) ) [b]{[/b] event.returnValue = false; [b]}[/b]"> Замечу, что данный код будет обрабатываться не всеми браузерами. Поэтому я предпочитаю тот вариант который я привел выше Ссылка на комментарий Поделиться на другие сайты Поделиться
msengine Опубликовано 8 августа, 2003 Жалоба Поделиться Опубликовано 8 августа, 2003 хм.. )) да и не надо, это я хотел выделить жирным Ссылка на комментарий Поделиться на другие сайты Поделиться
msengine Опубликовано 8 августа, 2003 Жалоба Поделиться Опубликовано 8 августа, 2003 ой ее)) как голова плохо думает )))))) я имел в виду что не надо обращать внимание на теги [b] и [/b] 2Moderator: Убейте плз пред. сообщение. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти