При проектировании пресловутого поиска по сайту (см. предыдущий пост) возникла необходимость передавать ключевые слова через адресную строку, что и человеку нагляднее и поисковику понятнее: вдруг ему вздумается засабмитить форму поиска каким-нибудь релевантным ключевым словом, а тут раз, и что-нибудь найдется, и вся страница поиска с ключевым словом в URL страницы окажется в выдаче (для поисковыков наличие ключевого слова в URL — очень весомый фактор). Если бы я не использовал ЧПУ (Человеко-Понятные Урл, например вместо "index.php?do=search&keyword=никон" — "/search/никон"), проблем бы это не вызвало, достаточно было в форме указать метод GET, хотя справедливости ради, стоит отметить, что в таком случае ключевое слово, скажем, "запись" преобразовалось бы в вид "%e7%e0%ef%e8%f1%fc", что ни для поисковика, тем более для человека не понятна. Ниже приведен результат танца с бубном:
<form action="search/" method="POST"
onsubmit="var keyword = document.getElementById('l').value;
this.action='search/'+keyword">
<input type='text' id='l' name='keyword'>
<input src='img/icon_search.gif' type='image'>
</form>
Обратите внимание, весь тэг <form> с событиями onclick настоятельно рекомендуется писать одной строкой (здесь он просто не убрался), иначе вы рискуете получить ошибку JavaScript "Illegal Character", т.к. в строке скрипта появится символ перевода строки.
Это упрощенный пример, в качестве кнопки Submit здесь выступает изображение. Данный пример реализован на этом сайте.
Схема работы, как видно, проста: при сабмите формы в свойство action подставляется введенное в текстовое поле значение, причем в адресной строке оно оказывается именно в виде киррилицы, а не в 8-битной кодировке. Но стоит помнить, что все браузеры имеют привычку переводить НЕлатинские символы в Юникод, и в обработчке этой формы следует использовать функцию типа utf8towin(), исходный код которой можно легко раздобыть на сайте http://php.net, или написать самим.
| | | | Свойство action оставлено на тот случай, если браузер пользователя не подерживает Java Script, а обработчик берет ключевые слова через POST, когда, скажем, GET не задано. | | | | |

|
Уважаемые посетители, сайт частично находится на реконструкции.
Блог 28
На сегодняшний день ситуация вокруг киноцентра «Рекорд» окончательно прояснилась, и мне, как бывшему директору ГП НО «Облкиновидеообъединение», хотелось бы дать свою оценку произошедшему и вместе с вами подумать как жить дальше.
В первую очередь я хочу поблагодарить всех вас за ту огромную поддержку, что вы оказали мне и всему коллективу предприятия. Я абсолютно уверен, что то, как сейчас развивается ситуация с трудоустройством сотрудников, это во многом ваша заслуга, результат того, что процесс ликвидации ГП НО «Облкиновидеообъединение» стал гласным и открытым.
1 ноября 2011 г. 10 июня 2011 г.Грязный черный пиар, направленный на хостера TimeWeb 31 марта 2011 г.Красное пятно у камеры Wave GT-8500 4 января 2011 г.Плюсы и минусы новой прошивки S8500XEJL2 для Samsung Wave GT-S8500 23 ноября 2010 г.Требуются web-разработчики 16 ноября 2010 г.Неработоспособность пакета Samsung Kies под Windows 7
все записи →
Про фотографию 21
На днях на глаза случайно попалась инструкция «Supporting the camera: holding with your hands», что в вольном переводе означает «Как правильно держать камеру». Все разобранные примеры имели иллюстрации. Большинство примеров, описанных в статье, соответствовали действительности, но внимание приковал случай расположения камеры в вертикальном положении для съемки портретов. Автор статьи называл положение рук «левая поддерживает объектив, правая управляет камерой и нажимает спуск» «самой распространенной ошибкой». При этом «правильным вариантом» называлось положение рук «правая рука поддерживает камеру за ручку, большой палец на кнопке спуск, левая рука свободно управляет кольцами объектива».
19 декабря 2010 г. 5 сентября 2010 г.Фото с Душой 9 августа 2010 г.Итоги международного фотосалона «Berega 2010» 10 июля 2009 г.5-й съезд Союза фотохудожников России
все записи →
Про кино 3
Морена Баккарин (Morena Baccarin) является бразильской и американской актрисой, наиболее известной своими ролями в американских научно-фантастических сериалах. Она сыграла Инару Серру, «компаньонку» (особу, сопровождающую высокопоставленных персон на публичных мероприятиях, ну, и оказывающую кое-какие другие услуги), путешествующую на корабле вместе с главными героями, в научно-фантастическом телесериале «Светлячок». А также Адрию, антагонистку, наполовину человека, наполовину «богиню», из другой галактики в сериале «Звездные врата SG-1».
7 августа 2010 г. 6 февраля 2008 г.Рататуй. Настоящая история 26 ноября 2007 г."Двенадцать" Никиты Михалкова
все заметки →
Поток сознания — twitter.com/shtorkin
Facebook — facebook.com/shtorkin
ВКонтакте — vk.com/shtorkin
Шторкин по Яндексу — «Нашлось 124 тыс. страниц»
Шторкин по Вараксину — «Шторкин сгонял за водкой, нарезал хлеб и открыл банку консервов»
К Пелевину никакого отношения не имею, и не читаю подобное... Псевдоним «Шторкин» возник за долго до выхода книги с одноименным героем, мотив — шторки фотоаппарата (хотел сначала взять псевдоним Затворкин, но оказалось, что фотограф с таким псевдонимом уже существует)
И еще. Друзья, помните, Don't feed The Troll ;-) |