Jump to content

Помогите!


Recommended Posts

Нужна помощь - необходимо программить ввод - конкретно необходимо ограничить ввод некоторых клавиш. Т.е. можно вводить только цифры и буквы, а все остальные просто не вводятся. Есть простая прога - но она с русским яз. почему то не работает: <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

я так понял речь идет про 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

я так понял речь идет про 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

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

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

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

кстати, ваш код не работает только по одной причине, вы забыли тело оператора 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...