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: Убейте плз пред. сообщение. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.