Полное описание
Сегодня, мы научимся делать поиск своими руками.
Некоторым пользователям нужно так, чтобы на сайте было два вида поиска:
один, к примеру, в блоках (простенький), а другой - на главной странице,
по середине (что-то более красивое и приятное).
Поиск состоит из полей, которые заключаются в определённую форму:
А к форме, присоединяются некоторые параметры: method="get" action="/search/".
В этих параметрах указывается метод работы формы (он забирает (get) или вставляет (post)), и адрес, откуда берётся эта информация.
Теперь нам нужно вставить поле, в которое мы будем вводить сам запрос для поиска. Для этого нам нужен тег input и к нему присоединяем параметры:
Code
class="" // Если хотите украсить форму, вставьте этот параметр и присвойте для него названия
type="text" // Указывается тип поля, в нашем случае это текст
name="q" // Название поля
maxlength="30" // Максимальное кол-во символов, которое можно ввести в это поле
value="Введите запрос" // Текст, который будет вставлен по умолчанию
Эти пункты самые важные, остальное можно добавлять по желанию. После этого, нам нужно вставить ещё одну кнопку, она может быть и невидимой, а может быть и видимой (как вам нужно). Создаём ещё один тег кнопки (input) и к нему присоединяем параметры:
Code
style="display: none;" // Убираем эту кнопку (она невидимая для пользователей)
type="submit" // Указываем то, что эта кнопка отвечает за отправление запроса на страницу поиска
name="sfSbm" // Задаём кнопке имя
value="Нажми" // Текст кнопки
Вот собственно и всё, вот такой должен быть код поиска:
Code
<form method="get" action="/search/">
<input class="" type="text" name="q" maxlength="30" value="Поиск (Для поиска нажать Enter)">
<input type="submit" name="sfSbm" value="Нажми"></form>
Настройки для продвинутых.
Данный пункт ни только для продвинутых, да и для тех, кто хочет улучшить свой поиск.
Если вы хотите, чтобы при нажатии на кнопку Enter происходило то же действие, что и с кнопкой "Нажми" (т.е. отправление запроса на страницу поиска), то для этого нужно задать для поля текста параметры:
Code
onfocus="if(value=='Поиск (Для поиска нажать Enter)'){value='';}" // Текст, который будет выводиться перед нажатии по полю
onblur="if(value=='') {value='Поиск (Для поиска нажать Enter)';}" // Почти одно и то же
А для самой формы:
Code
onsubmit="this.sfSbm.disabled=true"
Этим кодом, мы разрешаем полю при нажатии на кнопку Enter отправлять запрос на страницу поиска (т.е. то же самое, что и кнопка "Нажми".
А к кнопке "Нажми", присоединяем параметр:
Code
style="display: none;"