Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не работает JS-функция преобразования символов / 8 сообщений из 8, страница 1 из 1
26.10.2015, 10:19
    #39086463
andreevoi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
Здравствуйте, коллеги!
Начал тему вчера вот здесь .
Итак, функция на основе этого примера должна преобразовывать
в кириллицу в верхнем регистре, всё, что соответствует ей на клавиатуре.
Остальное она должна просто не пропускать.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
	<script>
var cyrUpper;
var lat;

function toCyrUpper(e) {
	cyrUpper="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ";
	lat="F,DULT`;PBQRKVYJGHCNEA[WXIOMS]'.Z";
	ch="";
	if(e.which==null) {
            	if(e.keyCode<32) e.keyCode=0;
		ch=String.fromCharCode(e.keyCode);
	}
	else if(e.which!=0 && e.charCode!=0) {
            	if(e.which<32) e.which=0;
		ch=String.fromCharCode(e.which);
	}

	ch=ch.toUpperCase();
	i=cyrUpper.indexOf(ch);
	if(i<0) {
       	i=lat.indexOf(ch);
        if(i<0) {
        	if(e.which==null) e.keyCode=0;
            else if(e.which!=0 && e.charCode!=0) e.which=0;
            return;
		}
		ch=cyrUpper.charAt(i);
	}
    //до сих пор всё работает чётко
    //а дальше работает только в IE, а в Firefox - никак
    if(e.which==null) e.keyCode=ch.charCodeAt(0);
    else if(e.which!=0 && e.charCode!=0) e.which=ch.charCodeAt(0);
    //else if(e.which!=0 && e.charCode!=0) e.charCode=ch.charCodeAt(0);
    //else if(e.which!=0 && e.charCode!=0) e.which=e.charCode=ch.charCodeAt(0);
}	</script>


Подскажите, пожалуйста, у кого есть опыт.
_________________________________________
Человек должен думать, машина - работать!
...
Рейтинг: 0 / 0
26.10.2015, 11:22
    #39086568
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
andreevoi,

Мозилла действительно плохо обрабатывает кириллицу. Если пролистать чуть выше до тестового стенда, то буквы ю, ж, ъ, э (может ещё какие) дают нолик в keyCode на всех событиях. Причём ноль будет везде и в keydown и в keyup. Попробуйте charCode в событии keypress .
...
Рейтинг: 0 / 0
26.10.2015, 12:09
    #39086646
andreevoi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
Спасибо!
charCode я пробовал: в самом низу моей функции -
две закомментированные строки, которые я пробовал.

... Н-да, не хочется ограничивать пользователя в выборе браузера...
...
Рейтинг: 0 / 0
01.11.2015, 16:19
    #39092130
andreevoi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
А что, IE11 тоже криво скрипты читает?!!

Едренивухо!!!

Кто-нибудь может мне объяснить, почему IE8 и IE11
по-разному понимают одни и те же скрипты?!!

(обращаюсь к тому же веб-серваку с ноутбука под Win8.
Там, правда, ещё McAffee стоит. Может он всё рубит?)
...
Рейтинг: 0 / 0
02.11.2015, 08:38
    #39092362
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
andreevoiКто-нибудь может мне объяснить, почему IE8 и IE11
по-разному понимают одни и те же скрипты?!!
Видать такие у тебя скрипты...
...
Рейтинг: 0 / 0
02.11.2015, 10:40
    #39092441
andreevoi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
Речь о скрипте, что приведён в начале темы.
...
Рейтинг: 0 / 0
02.11.2015, 11:11
    #39092470
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
andreevoiРечь о скрипте, что приведён в начале темы.
Как правило, весь скрипт "не работать" не может. Может не работать какой-то метод... Или отсутствовать свойство... Или все это в некой комбинации.

andreevoi , ты самостоятельно можешь потестить свой код? По шагам...
Т.о. сможешь узнать в чем собственно проявляется различие в работе скрипта.
...
Рейтинг: 0 / 0
02.11.2015, 11:51
    #39092537
andreevoi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает JS-функция преобразования символов
Да, спасибо!
Мне предложили использовать консоль разработчика или FireBug.
Я JS ещё никогда не трассировал.

А сейчас - юмор.
Чтобы заказчик увидел то, что хочет, я поставил на его ППК с Win8
Virtualbox, на котром развернул винду постарше.
Там всё работает.
:) )))))))))))))))))))
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не работает JS-функция преобразования символов / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]