Как улучшить форму поиска

Сейчас если не вводить никакого поискового запроса и нажать кнопку поиска, то мы получаем в качестве результаты по запросу «поиск».
Как сделать так, чтобы если человек не вводил своего поискового запроса и нажимал кнопку поиска, то рядом с полем ввода появлялась ошибка, например, «введите поисковый запрос».

13 комментариев

avatar
Добавить условие в экшен поиска.
avatar
Нужно, чтобы ошибка появлялась без перезагрузки страницы. А через экшен, там только после перезагрузки страницы ошибка появится.
avatar
jQuery условие небольшое пропиши и все. Но это, как у нас на факультете говорили, защита «от дурака».

Но в целом, еще, как я первый вопрос увидел, можно на страницу прописать форму с запросом www.smsrostov.ru/search/topics/?q=sms для повторного поиска.
avatar
А какое условие? Я просто в jQuery ничего не понимаю вообще (кроме того, что эта библиотека с mootools конфликтует).
Думал может кто уже у себя на сайте делал такое и готовое решение уже есть.
avatar
да просто допиши код

onsubmit="if (value='') return false;
"
avatar
или так

onsubmit="if (value='') {alert('введите поисковый запрос'); return false;}"
avatar
Напишите, пожалуйста, подробнее куда это нужно вписать, а то я не понял
avatar
Onsubmit это атрибут тега form.

Поэтому
<div class="search">
	<form action="http://livestreet.ru/search/topics/" method="GET" onsubmit="...">
		<input class="text" type="text" onblur="if (!value) value=defaultValue" onclick="if (value==defaultValue) value=''" value="Поиск" name="q" />
		<input class="button" type="submit" value="" />
	</form>
</div>
avatar
в шаблоне header_nav.tpl вашей темы ищем часть кода:
<form action="{router page='search'}topics/" method="GET">

и заменяем на

<form action="{router page='search'}topics/" method="GET" onsubmit="if (value=='') {alert('введите поисковый запрос'); return false;}">


пробуем
avatar
Вот так
onsubmit="if(this.q.value='' || this.q.value=='Поиск') msgErrorBox.alert('Ошибка','Введите поисковый запрос'); return false;"
avatar
Точно
avatar
Подставил этот код, но он у меня только в поле для вовода запроса пишет «false» и все, сообщение об ошибке не появляется. Может за деньги кто может это сделать? Только мне надо, чтобы сообщение об ошибке появлялось под полем для ввода, а не в виде подсказки в углу.
(если кто может сделать пишите в личку)
avatar
Простите никто не знает как поиск со сфинксом приучить выводить результаты по дате добавления, сначала новые, а то он выводит сначала старые, а это совсем не годится.
Прошу отозваться.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.