Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   PHP (https://nowa.cc/forumdisplay.php?f=305)
-   -   php b javaScript для вывода результатов поиска (https://nowa.cc/showthread.php?t=146830)

Alena21 20.02.2008 10:57

php b javaScript для вывода результатов поиска
 
я хочу сделать расширенный поиск на сайте. по сути поиск будет происходить в файле csv или в базе данных в зависимости от того в каком разделе будет искать пользователь. вот.
есть поисковая форма из трех полей (два выпадающих списка ) и поле text. в первом поле я выбираю тип продукции в которой будем искать, в зависимости от типа во втором выпадающем списке меняется содержимое (возможные категории) для наглядности :
радиоэлектронные компоненты ->> микросхемы
диоды
стабилитроны
контрольно-измерительные приборы ->>осциллографы
вольтметры
и т.д.
затем в текстовое поле вводится первая буква искомой позиции, я хочу чтобы ниже формы располагался IFRAME и там выводился результат поиска в виде список всвех позиций и искомая позиция в голове списка (если вводится вторая буква слова, то курсор должен перемещаться на позицию. которая начинается с этих букв) , то есть пользователь видет и то что искал и может просмотреть позицию выше и позицию ниже.
а теперь собственнно вопрос. с выпадающими списками я вроде разобралась (нашла нужный скрипт) , а вот с полем ввода кажется нет. получается весь поисковый скрипт будет находжиться в файле, который отображается в IFRAME, значит мне надо передавать содержимое формы туда я передаю по событию onkeyup="Add()"
<form action="search_more.php" method="post" name="searchform">

<select name="Cotegory" id="Cotegory">
<option value="select"<?php if (isset($_POST['Cotegory'])&& $_POST['Cotegory']=='select'){echo 'selected="selected"';}?>>Выберите категорию</option>
.... и т.д. в том же роде
</select> <br>
<select name="Tip" id="Tip">

<option class="select" value="select">Выберите тип...</option>
<?php selected('rec');
selected('rip_rus');
selected('rip_ino');
selected('iip');
selected('po');
selected('kip');
?>
</select>
<input type="text" name="search_obj" onkeyup="Add()" value="<?echo(isset($_POST['search_obj']))? $_POST['search_obj']:'';?>">
</form>

функция Add
function Add()
{

cotegory=document.forms.searchform.Cotegory.value;
tip=document.forms.searchform.Tip.value;
search_obj=document.forms.searchform.search_obj.va lue;

str_navig1="search_more.php?cotegory="+cotegory+"& tip="+tip+"&search_obj="+search_obj;
window.navigate (str_navig1);
}
и ниже фрейм, который загружается со следущими параметрами
<IFRAME src="result.php?cotegory=<?php echo $cotegory;?>&tip=<?php echo $tip;?>&search_obj=<?php echo $search_obj;?>" width="450" height="500" scrolling="auto" frameborder="1"></IFRAME>

получается что после ввода в поле запроса первой буквы у меня происходит перегрузка страницы с новыми параметрами , но получается, что хотя я и делаю value="<?echo(isset($_POST['search_obj']))? $_POST['search_obj']:'';?>" поле у меня все равно пустое. и выпадающие списки тоже прходится выбирать поновой
что я делаю не так?
:cry::wow:

Alena21 20.02.2008 15:12

Ответ: php b javaScript для вывода результатов поиска
 
наверное я не оченнь конкретно выразилась. поискала по сети, кажется нашла то что хотела (не готовое решение конечно), но буду изучать технологию ajax и "живой поиск" так что если есть хороший доступный материал (для блондинок) по этой тебе буду рада если посоветуете

XPraptor 25.03.2008 16:12

Ответ: php b javaScript для вывода результатов поиска
 
Вот Вы и сами нашли, а то POST по KeyUp жедать - это же перезагрузка. А вам нужно javScript-ом передать введенные буковки и через Ajax не перегружая страну получить обратно результат слов по этим буковкам. Для этого всем элементам дайте id по ним JavaScript будет получать нужные значения от контролов и писать в них новые.

Ваша задача: JavaScript получил буковки и делает в фоне запрос к php файлу передавая эти буковки в строке адреса GET зпросом. PHP файл производит подбор слов по этим буковкам и возвращает текст JavaScript кода, в котором эти слова вписываются в нужный элемент по его id. Как только текст кода прийдет обратно, JavaScript будет исполнен на странице и впишутся слова в нужный контрол.


Текущее время: 10:16. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.01906 секунды с 9 запросами