SsS Posted August 7, 2003 Report Share Posted August 7, 2003 Нужна помощь - необходимо программить ввод - конкретно необходимо ограничить ввод некоторых клавиш. Т.е. можно вводить только цифры и буквы, а все остальные просто не вводятся. Есть простая прога - но она с русским яз. почему то не работает: <input id='age' type=text size=10 onkeypress='if ((event.keyCode < 48) || (event.keyCode >57)) event.returnvalue = false;'> Так вот русский алфавит по коду ASCII от 224 до 255, но это не работает. Как сделать чтобы заработало? Link to comment Share on other sites More sharing options...
msengine Posted August 7, 2003 Report Share Posted August 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> Link to comment Share on other sites More sharing options...
SsS Posted August 7, 2003 Author Report Share Posted August 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 или нет, просто Ваш код почему-то не работает. Но за ответ спасибо. Link to comment Share on other sites More sharing options...
msengine Posted August 8, 2003 Report Share Posted August 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); } Это мы запретили буквы щ, Щ и символы % и & Далее деламем все по аналогии Link to comment Share on other sites More sharing options...
msengine Posted August 8, 2003 Report Share Posted August 8, 2003 кстати, ваш код не работает только по одной причине, вы забыли тело оператора if заключить в {}, т.е. надо писать: <input id='' type='text' size='30' onkeypress="if ( (event.keyCode < 48) || (event.keyCode > 57) ) [b]{[/b] event.returnValue = false; [b]}[/b]"> Замечу, что данный код будет обрабатываться не всеми браузерами. Поэтому я предпочитаю тот вариант который я привел выше Link to comment Share on other sites More sharing options...
msengine Posted August 8, 2003 Report Share Posted August 8, 2003 хм.. )) да и не надо, это я хотел выделить жирным Link to comment Share on other sites More sharing options...
msengine Posted August 8, 2003 Report Share Posted August 8, 2003 ой ее)) как голова плохо думает )))))) я имел в виду что не надо обращать внимание на теги [b] и [/b] 2Moderator: Убейте плз пред. сообщение. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now