Показать сообщение отдельно
  #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.