Avatar billede prebenped Nybegynder
25. december 2001 - 19:45 Der er 5 kommentarer og
1 løsning

record_searcher

Hejsa!

Jeg har download dette script, for at ville lave en søgemodul, på min kommende hjemmeside, men jeg synes det virker lidt svært at få styr på. Jeg har hele zipfilen hvis det er nemmere.

Kom igang med scriptet
**********************

Lad os så komme igang!



  <SCRIPT LANGUAGE=\"JAVASCRIPT\">
<!--


// Her skriver du kilden til din pil som vises ved resultat
var PointerPicture = \"<IMG SRC=hot.gif width=26 height=20 align=top>\";
//                    Hvis intet billede er skrevet bliver boksen tom
var ResultBody = \"<BODY BGCOLOR=\'#ffffff\' TEXT=\'#000000\' LINK=\'#000000\'\" +
                \" VLINK=\'#000000\' BACKGROUND=\'marble.jpg\'>\";
//                                ^^^^^^^^^^ Vælg et baggrundbillede (Ikke Nødvendigt)
var ResultBGCOLOR = \"#ffffff\"; // Baggrundsfarven i tabellen i resultater
// Slut på egenskaber for den kommende resultat side
function compress(str) {
var h=str;
var leading=(h.charAt(0) == \" \" || h.charAt(0) == \"*\" );
var trailing=(h.charAt(h.length-1) == \" \" || h.charAt(h.length-1) == \"*\");
while (trailing || leading) {
if (leading) {
  h=h.substring(1,h.length);
  leading=(h.charAt(0) == \" \" || h.charAt(0) == \"*\" );
}
if (trailing) {
  h=h.substring(0,h.length-1);
  trailing=(h.charAt(h.length-1) == \" \" || h.charAt(h.length-1) == \"*\");
}
}
// Dette skriver til textboksen (Her må ikke rettes!!!!)
document.searchForm.search_name.value=h;
return document.searchForm.search_name.value;
}
function checkField() {
if ( compress(document.searchForm.search_name.value) != \'\' ) {
find(document.searchForm, indexedPage);
return true }
// Hvis brugeren ikke har skrevet noget
//            ||||| Skriv din alert boks besked her
else { alert(\"Venligst indtast søgeord\");
document.searchForm.search_name.focus();
return false }
}
function makeArray(n){
this.length = n;
for (i = 1; i <= n; i++){
this[i] = \"\";
}
}
function index (name,adr,phone,email,link,keywds) {
var argc = index.arguments.length;
var keys = argc -5 ;
this.adr = adr;
this.keywords = new makeArray(keys);
this.keywords[1] = name;
this.keywords[2] = adr;
this.keywords[3] = phone;
this.keywords[4] = email;
this.keywords[5] = link;
this.link = link
for(var i = 2; i <= keys+1; i++) {
this.keywords[i] = index.arguments[i];
}
}
//Her skal du skrive præcist hvor mange indexed pages der er f.eks 20
//                            vvv
var indexedPage = new makeArray(3);
// lav din egen indexedPage[12] eller andet som her
// Som her: indexedPage[i] = new index(\"Navn\",\"Adresse\",\"Telefon\",
//                                            \"E-mail\",\"URL\");
// Din liste SKAL se sådan ud som vist ovenfor. Der MÅ KUN være ET nøgleord til personen
// Der skal mindst være et af det hele før det virker

indexedPage[1]=new index(\"Markus Drag\",\"Computervej 18\",\"20205555\",\"goldduck@e-box.dk\",\"http://www.freewebsite.dk/mdr\");
indexedPage[2]=new index(\"Viggo Bakken\",\"Amigavej 56\",\"20212020\",\"viggo@site.dk\",\"http://www.viggo.dk\");
indexedPage[3]=new index(\"Peter Hansen\",\"Officevej 7\",\"34345050\",\"peter@peter.dk\",\"http://www.peter.dk\");

// Hvis du glemmer at skrive det rigtige antal indexedPages så bliver de frakoblet så husk det!!!
// Nu til formen
function find(form,indexedPage) {
var key;
var tmp_find_word;
var find_word = form.search_name.value;
var match = false;
var doc;
var resultOne =\'\'; //Part 1 af output
var resultTwo =\'\'; //part 2 af output
var resultThr =\'\'; //part 3 af output
var N_found = 0;
// Søg og output
var j=0;
for (var i = 1; i <= indexedPage.length; i++) {
for (var n in indexedPage[i].keywords) {
key = indexedPage[i].keywords[n].toString();
key = key.toUpperCase();
tmp_find_word = find_word.toUpperCase();
if ((key.indexOf(tmp_find_word) != -1 ||
  tmp_find_word.indexOf(key) != -1) && (n != \"length\")) {
  match = true;
  j++;
  key1 = key.substring(0,key.indexOf(tmp_find_word)) +
        \"<B>\" + tmp_find_word + \"</B>\";
  key2 = key1 + key.substring(key1.length-7,key.length);
  resultTwo += \" <TR><TD valign=top align=right><i>\" + j + \". </i> \" +
                PointerPicture + \"</TD>\\n\";
  resultTwo += \" <TD><FONT FACE=\'Arial\' SIZE=-1>\\n\";
  resultTwo += \" Nøgleord: \" + key2 + \"<br>\\n\";
  resultTwo += \" Navn: \" + indexedPage[i].keywords[1] + \"<br>\\n\";
  resultTwo += \" Adresse: \"+ indexedPage[i].keywords[2] + \"<br>\\n\";
  resultTwo += \" Tlf:  \" + indexedPage[i].keywords[3] + \"<br>\\n\";
  resultTwo += \" E-mail: \" + indexedPage[i].keywords[4] + \"<br>\\n\";
  resultTwo += \" URL: \" + indexedPage[i].keywords[5] + \"<Br>\\n\";
               
             
               
  resultTwo += \" </TD></TR>\\n\";
  N_found = j;
  }
  }
}
// HVIS DER IKKE VAR ET ORD DER MATCHEDE...
if (!match) {
resultThr += \" <TR><TD><FONT FACE=\'Arial\' SIZE=-1>Beklager, ingen person passede til søgeordet <B>\" +
                find_word + \"</B>\\n\";
resultThr += \" <br><center>Venligst prøv igen eller tjek for stavefejl og lign.</center></FONT></TD></TR>\\n\";
}
resultThr += \" </TABLE></TD></TR>\\n\";
resultThr += \"</TABLE><BR>\\n\";
resultThr += \"</CENTER>\\n\";
resultThr += \"</BODY></HTML>\\n\";
// hvis et ord passer
resultOne += \"<HTML><HEAD><TITLE>Resultater for \" + find_word +
            \"</TITLE></HEAD>\";
resultOne += ResultBody +\"\\n\";
resultOne += \"<CENTER><FONT FACE=\'Arial\' SIZE=+2>Søgeresultater for <B>\" +
              find_word + \"</B></FONT><br>\\n\";
if (match)
if (N_found == 1) resultOne += \"<FONT FACE=\'Arial\' SIZE=1><B>1</B> \" +
                              \"matchende resultat er fundet</FONT><br><br>\\n\";
else resultOne += \"<FONT FACE=\'Arial\' SIZE=1><B>\" + N_found +
                  \"</B> resultater der matchede er fundet</FONT><br><br>\\n\";
resultOne += \"<TABLE border=1 CELLSPACING=\'0\' CELLPADDING=\'0\'><TR><TD>\\n\";
resultOne += \" <TABLE border=0 CELLSPACING=\'0\' CELLPADDING=\'8\' BGCOLOR=\'\" +
              ResultBGCOLOR + \"\'>\\n\";
// Hvis du bruger frames?
if (parent == null || parent == self) { doc = window.document; }
else { doc = parent.main.document; }
//                  ^^^^
// her skrives det frame navn hvor resultat siden skal vises i
doc.open();
doc.write(resultOne);
doc.write(resultTwo);
doc.write(resultThr);
doc.close();
}
-->
  </SCRIPT>
Avatar billede virus Nybegynder
25. december 2001 - 19:53 #1
Hvad er dit problem med det?
Avatar billede prebenped Nybegynder
25. december 2001 - 20:00 #2
Jeg får denne nedenstående fejl, med meddelelsen ( er et null eller ikke et objekt


else { doc = parent.main.document; }
Avatar billede prebenped Nybegynder
25. december 2001 - 20:02 #3
Det er linie 11 nedefra

linien over denne nedenstående

//          ^^^^
Avatar billede virus Nybegynder
25. december 2001 - 20:05 #4
:)
som du kan se

else { doc = parent.main.document; }
//                  ^^^^
// her skrives det frame navn hvor resultat siden skal vises i

hedder det main ?
i din html
Avatar billede prebenped Nybegynder
25. december 2001 - 20:18 #5
Nej det skal skifte til en ny side. evt resultat.htm

Kan man så bare skrive som nedenstående ??

else { doc = parent.resultat.document; }
//                  ^^^^
// her skrives det frame navn hvor resultat siden skal vises i
Avatar billede prebenped Nybegynder
25. december 2001 - 22:46 #6
jeg fandt ud af det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester