Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Ajax - быстрый поиск

Ответить
Настройки темы
Ajax - быстрый поиск

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Сделал на сайте быстрый поиск. Все отлично работает, проблема в одном - не исчезает блок с результатами поиска если кликнуть в любом месте сайта (вне блока)

Этот код в HEAD
Код: Выделить весь код
<script type="text/javascript" language="javascript">
var req;

function loadXMLDoc(key) {

   var url="search.php?keyword="+key;

   // Internet Explorer
   try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
   catch(e) {
      try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(oc) { req = null; }
   }

   // Mozailla/Safari
   if (!req && typeof XMLHttpRequest != "undefined") { req = new XMLHttpRequest(); }

   // Call the processChange() function when the page has loaded
   if (req != null) {
      req.onreadystatechange = processChange;
      req.open("GET", url, true);
      req.send(null);

   }
}

function processChange() {
   // The page has loaded and the HTTP status code is 200 OK
   if (req.readyState == 4 && req.status == 200) {

     // Write the contents of this URL to the searchResult layer
     getObject("quicksearch").innerHTML = req.responseText;
   }
}

function getObject(name) {
   var ns4 = (document.layers) ? true : false;
   var w3c = (document.getElementById) ? true : false;
   var ie4 = (document.all) ? true : false;

   if (ns4) return eval('document.' + name);
   if (w3c) return document.getElementById(name);
   if (ie4) return eval('document.all.' + name);
   return false;
}
</script>
Сама форма

Код: Выделить весь код
  
  <input name="keyword" id="search_area" type="text" onKeyUp="loadXMLDoc(this.value);" autocomplete="off"  />
  <div id="quicksearch"></div>
CSS-код из файла стилей
Код: Выделить весь код
  
#quicksearch {text-align:left; position: absolute; top: 110px; left: 645px; background-color:#FFFFE8; color: #333333; font-size:12px;  z-index:500; width:300px;  }
#quicksearch ul, #quicksearch li {padding:0; margin:0; border:0; list-style:none;}
#quicksearch li {border-bottom:solid 1px #DEDEDE;}
#quicksearch li a{display:block; padding:4px; text-decoration:none; color:#000000; font-weight:bold;}
#quicksearch li a small{display:block; text-decoration:none; color:#999999; font-weight:normal;}
#quicksearch li a:hover{background:#FFFFCC;}
#quicksearch ul {padding:6px;}

Помогите пожалуйста

Отправлено: 17:12, 01-11-2010

 

Deadooshka


Сообщения: 2516
Благодарности: 691

Профиль | Отправить PM | Цитировать


не вижу в коде, за счет чего он должен исчезать. Повесьте на input onblur="this.style.display='none'" какой-нибудь

Отправлено: 18:52, 01-11-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо за ответ.

При наборе текста в input появляется выпадающий список с перечнем названий (как в поиске Гугла).

В коде изначально не было предусмотрено исчезновение этого списка. Этот пример нашел в Инете.

Если onblur повесить на input, исчезает сам input, а не список. А нужно, чтобы исчезал список, если кликнуть в другом месте сайта.

Пробовал через jQuery autocomplete, но там проблемы с поиском, если вводить поисковые слова через пробел.

Пробовал разные варианты с этим кодом, не получается.

Помогите плиз

Отправлено: 19:59, 01-11-2010 | #3


Deadooshka


Сообщения: 2516
Благодарности: 691

Профиль | Отправить PM | Цитировать


можно и так
Код: Выделить весь код
window.document.onclick = function(e)
{
	var e = e || window.event;
	var r  = e.target || e.srcElement;
	if(r.id != 'quicksearch' && r.id != 'search_area') document.getElementById('quicksearch').style.display = 'none';
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:59, 01-11-2010 | #4


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо огромное - работает!

Только недавно начал JavaScript, в основном по PHP + MySQL

Отправлено: 21:08, 01-11-2010 | #5



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Ajax - быстрый поиск

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Быстрый поиск TEMA5 Microsoft Windows 7 7 07-10-2009 20:42
Ajax поиск darksmoke Вебмастеру 7 25-06-2009 20:15
Разное - Быстрый поиск файлов в 2000/XP allaq Microsoft Windows 2000/XP 5 20-05-2009 16:27
[решено] Быстрый ли "быстрый запуск"? truvo Хочу все знать 7 30-04-2008 04:49
Быстрый поиск в Яндекс Guest Хочу все знать 8 11-04-2003 22:05




 
Переход