Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.251.68] |
|
Сообщ.
#1
,
|
|
|
в общих чертах идей такова: т.к. JS с БД не работает, то в файле prodMas.js создается 4 набора данных в виде массивов по следующему принципу:
var metAr=new Array("Щит рекламный", "Ограждения балконные", "Ограждения парковые"); ...... строка и условия поиска задаются из формы одного документа и передаются в другой для анализа... вот текст файла, в котором происходит сравнение и поиск: <html> <head> <title>Результаты поиска</title> <script language="JavaScript" type="text/JavaScript" src="scripts/prodMas.js"></script> <script language="JavaScript" type="text/javascript"> <!-- var ex_url=location.search.substring(1); var param = new Array(); var param = ex_url.split('&'); var values = new Array(); for (i=0; i<param.length;i++) { var b = param[i].split('='); values[b[0]] = unescape(unescape(b[1])); } var sch=0; function FindAll(str, ar, urlst, nazv) { for (i=0; i<ar.length; i++) { if (str.toUpperCase()==ar[i].toUpperCase()) { sch++; document.writeln('<a href="'+urlst+nazv+'.htm">'+ar[i]+'</a>'); } } } function FindAny(str, ar, urlst, nazv) { var arStr=str.toUpperCase().split(' '); for (i=0; i<ar.length; i++) { var arAr=ar[i].toUpperCase().split(' '); for (j=0; j<arStr.length; j++0) { for (k=0; k<arAr.length; k++) { if (arStr[j]==arAr[k]) { sch++; document.writeln('<a href="'+urlst+nazv+'.htm">'+ar[i]+'</a>'); } } } } } //--> </script> </head> <body> <h1>Результаты поиска</h1> <script type="text/javascript" language="JavaScript"> <!-- var strURL='http://rmz-prk.land.ru/'; if (values["fkat"]=='spareparts') var fAr=spAr; else if (values["fkat"]=='repair') var fAr=repAr; else if (values["fkat"]=='metaldes') var fAr=metAr; else var fAr=servAr; if (values["ftype"]==1) FindAny(values["ftext"], fAr, strURL, values["fkat"]); else FindAll(values["ftext"], fAr, strURL, values["fkat"]); if (sch==0) alert('По Вашему запросу ничего не найдено!'); else alert('По Вашему запросу найдено '+sch+' совпадений'); //--> </script> </body> </html> и вот эта лабуда ничего не выдает, т.е. скрипты не срабатывают. Почему? P.S.: понимаю, что лучше было бы анализ проводить посредством indexOf(), но сейчас просто делаю на скорость, потому как времени не особо... |
Сообщ.
#2
,
|
|
|
Может поэтому:
Цитата for (j=0; j<arStr.length; j++0) |
Сообщ.
#3
,
|
|
|
Небольшое замечание: обычно для этих целей (псевдо БД) используют cookies, а не передачу параметров.
|
Сообщ.
#4
,
|
|
|
Цитата Trustmaster @ 24.08.04, 16:04 Небольшое замечание: обычно для этих целей (псевдо БД) используют cookies, а не передачу параметров. Кстати а у печенек какая максимальная длинна? |
Сообщ.
#5
,
|
|
|
Обычно она неограничена. Но это может зависеть от браузера.
|
Сообщ.
#6
,
|
|
|
Mixxx, спасибо большое... согласен, ошибка глупая (точнее это опечатка получилась), но так всегда - чем больше голову ломаешь, тем проще решение
|