Javascript.RU

Создать новую тему Закрытая тема
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.01.2012, 22:26
Интересующийся
Отправить личное сообщение для rafonets Посмотреть профиль Найти все сообщения от rafonets
 
Регистрация: 07.07.2011
Сообщений: 24

<html>
<head>

function tr( str )
{
	var keycode, keyChar;
	if( str.keyCode ) keycode = str.keyCode;
	else if( str.which ) keycode = str.which;

	keyChar = String.fromCharCode( keycode );
        alert("Нажат символ: "+keyChar);  // Если нажата маленькая буква "r" выводит большую "R" и т.д. со всеми буквами
}

</head>
<body>
<form action="">
<input id="undefine" type="text" name="filter_name" value="<?php echo $text_search; ?>" onfocus="if(this.value=='<?php echo $text_search; ?>')this.value = '';" onblur="if(this.value=='')this.value='<?php echo $text_search; ?>';" onkeyup="if(this.id=='ge')tr(event)" />
     
<label for="geochk"><input title="Geo" id="geochk" type="checkbox" name="geo" onclick="if(this.checked)getElementById('undefine').id='ge';else getElementById('ge').id='undefine';" /> Geo</label>

// Если пользователь активирует чекбокс с id=geochk тогда у поля поисковой формы id меняется из "undefine" на "ge", если id=ge тогда функция onkeyup срабатывает и начинает работать функция tr.
</form>
</body>
</html>


Я объясню зачем мне это все, может тогда вам станет понятнее...

На сайте материал на Грузинском языке, а это форма поиска т.е. должно быть так если пользователь ввел в input Английскую букву "a" автоматом буква становиться Грузинской. Если бы все было так просто. Набирая на Грузинском, Английскими буквами буква "t" и "T", "c" и "C" и т.д. означают совсем разные буквы. Поэтому так важно соблюдать регистр.

Ну сейчас я сделал по другому конкретно отправляю не последнюю букву которую пользователь вводил, а весь текст в инпут. Пример:
<html>
<head>

function tr( str )
{       
    str = str.replace( "EnБуква", "GeБуква" );
    str = str.replace( "EnБуква", "GeБуква" );
    // Чтобы все 33 буквы не писать по отдельности, как бы по другому это сделать через Рег. Выражение? Но тогда как понять, что будет быстрее 33 раза менять строку или рег. выражение?
    
    document.getElementById('ge').value = str;
}

</head>
<body>
<form action="">
<input id="undefine" type="text" name="filter_name" value="<?php echo $text_search; ?>" onfocus="if(this.value=='<?php echo $text_search; ?>')this.value = '';" onblur="if(this.value=='')this.value='<?php echo $text_search; ?>';" onkeyup="if(this.id=='ge')tr(this.value)" />
     
<label for="geochk"><input title="Geo" id="geochk" type="checkbox" name="geo" onclick="if(this.checked)getElementById('undefine').id='ge';else getElementById('ge').id='undefine';" /> Geo</label>
// Если пользователь активирует чекбокс с id=geochk тогда у поля поисковой формы id меняется из "undefine" на "ge", если id=ge тогда функция onkeyup срабатывает и начинает работать функция tr.
</form>
</body>
</html>

Последний раз редактировалось rafonets, 10.01.2012 в 22:31.
  #12 (permalink)  
Старый 10.01.2012, 23:12
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от rafonets
должно быть так если пользователь ввел в input Английскую букву "a" автоматом буква становиться Грузинской.
Сделайте таблицу соответствий и будет Вам счастье
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
  #13 (permalink)  
Старый 11.01.2012, 00:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

rafonets,
На всякий случай ....
<html>
<head>
<title>charCode example</title>

<script type="text/javascript">

function showChar(e)
{
e = (e) ? e : window.event;
var keycode = e.charCode||e.keyCode;
alert("Key Pressed: " + String.fromCharCode(keycode) + "\n"
      + "charCode: " + (keycode));
}

</script>
</head>

<body onkeypress="showChar(event);">
<p>Press any 'character' type key.</p>
</body>
</html>
  #14 (permalink)  
Старый 11.01.2012, 11:44
Интересующийся
Отправить личное сообщение для rafonets Посмотреть профиль Найти все сообщения от rafonets
 
Регистрация: 07.07.2011
Сообщений: 24

Сообщение от nerv_ Посмотреть сообщение
Сделайте таблицу соответствий и будет Вам счастье
Можно попробовать

Сообщение от рони Посмотреть сообщение
rafonets,
На всякий случай ....
<html>
<head>
<title>charCode example</title>

<script type="text/javascript">

function showChar(e)
{
e = (e) ? e : window.event;
var keycode = e.charCode||e.keyCode;
alert("Key Pressed: " + String.fromCharCode(keycode) + "\n"
      + "charCode: " + (keycode));
}

</script>
</head>

<body onkeypress="showChar(event);">
<p>Press any 'character' type key.</p>
</body>
</html>
Странно но ваш вариант отображает символы как надо, тока вот разница в чем onkeypress, срабатывает при нажатии клавиши, в onkeyup, когда уже отпускаешь клавишу. Возможно ошибка в onkeyup
  #15 (permalink)  
Старый 11.01.2012, 12:40
Интересующийся
Отправить личное сообщение для rafonets Посмотреть профиль Найти все сообщения от rafonets
 
Регистрация: 07.07.2011
Сообщений: 24

Мдаа.... Возникла еще одна проблема, вчера все было нормально, но почему-то теперь вместо грузинских символов, что-то виде "бѓ‘", "бѓђ", код не трогал, кодировку не трогал, как вчера было так и сейчас.

Чем дальше тем интереснее похоже проблема только в Google Chrome

Проблему решил удалением куков браузера


ТЕМА ЗАКРЫТА !

Последний раз редактировалось rafonets, 11.01.2012 в 12:49.
Закрытая тема



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с анимацией vyazovetskova Общие вопросы Javascript 111 26.12.2010 15:27
Проблемы с картой изображений mmolib Events/DOM/Window 0 06.12.2010 20:34
Проблемы с кодировкой в ajax Axenic Общие вопросы Javascript 3 27.07.2010 09:30
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47