Avatar billede johnmadsen Nybegynder
18. januar 2001 - 02:23 Der er 2 kommentarer og
1 løsning

Søgebox til søgning af tekst i en ramme

Jeg har på internettet fundet et søgeprogram som søger et ord på den samme side som søgeboksen findes. Hvordan får jeg den til at søge på et ord i en anden ramme?
Programmet ser sådan ud:<script language=\"JavaScript\">

/*
Find In Page Script-
By Mike Hall (MHall75819@aol.com)
Permission granted to Dynamicdrive.com to feature script in archive
For full source code, visit http://dynamicdrive.com
*/

var NS4 = (document.layers);    // Which browser?
var IE4 = (document.all);

var win = window;    // window to search.
var n  = 0;

function findInPage(str) {

  var txt, i, found;

  if (str == \"\")
    return false;

  // Find next occurance of the given string on the page, wrap around to the
  // start of the page if necessary.

  if (NS4) {

    // Look for match starting at the current point. If not found, rewind
    // back to the first match.

    if (!win.find(str))
      while(win.find(str, false, true))
        n++;
    else
      n++;

    // If not found in either direction, give message.

    if (n == 0)
      alert(\"Not found.\");
  }

  if (IE4) {
    txt = win.document.body.createTextRange();

    // Find the nth match from the top of the page.

    for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
      txt.moveStart(\"character\", 1);
      txt.moveEnd(\"textedit\");
    }

    // If found, mark it and scroll it into view.

    if (found) {
      txt.moveStart(\"character\", -1);
      txt.findText(str);
      txt.select();
      txt.scrollIntoView();
      n++;
    }

    // Otherwise, start over at the top of the page and find first match.

    else {
      if (n > 0) {
        n = 0;
        findInPage(str);
      }

      // Not found anywhere, give message.

      else
        alert(\"Not found.\");
    }
  }

  return false;
}

</script>


<form name=\"search\" onSubmit=\"return findInPage(this.string.value);\">
  <font size=\"3\"><p><input name=\"string\" type=\"text\" size=\"15\" onChange=\"n = 0;\"></font> <input
  type=\"submit\" value=\"Find\"> </p>
</form>

Avatar billede sbi Nybegynder
18. januar 2001 - 08:35 #1
Du skal ændre dit objekt kald:

if (IE4) {
txt=window.top.sog2.document.body.createTextRange();

sog2 er navnet på den frame der skal ledes i!

/sbi
Avatar billede helle_fred Nybegynder
18. januar 2001 - 16:11 #2
Du skal ændre linie ni:

fra:
var win = window;    // window to search.
til:
var win = top.to.window;    // window to search.
- hvis den ramme, du vil søge i hedder \"to\".
Avatar billede johnmadsen Nybegynder
19. januar 2001 - 17:49 #3
Mange tak!!!!
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