Link to home
Start Free TrialLog in
Avatar of MNY
MNY

asked on

Search tool

I know hot to add a search tool on my site. My problem is that when an entry is found, I'd like to have the choice of continuing the search in the page for more entries of the same name.

Thanks !
Avatar of ClassyLinks
ClassyLinks
Flag of Canada image

You need to show us the code you are using for your search tool.
Avatar of MNY
MNY

ASKER

Ok here it is:

<script language="JavaScript">

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>
</body>

</html>
<p>&nbsp;<form name="search" onSubmit="return findInPage(this.string.value);">
<p align="center">
<font size=3><input name="string" type="text" size=15 onChange="n = 0;"></font><font face="Arial" size="4"><input type="submit" value="Search Page">

</font>
</form></p>
Ok...this is just a suggestion, but I don't think you want to use JavaScript here unless it is a last resort.

If I understand the general idea, you are trying to do a site about the horrific happenings in the USA.  You are going to have a very general audience.   Also, you are going to be using server side scripting for the posting part.....so why not use server side scripting for the search too?  It would be less reliant on the user having scripting enabled on their browser.

Just a suggestion.  
Avatar of MNY

ASKER

I just want to be able to continue searching after it found one instance...like Microsoft's
ASKER CERTIFIED SOLUTION
Avatar of ClassyLinks
ClassyLinks
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of MNY

ASKER

anynews on my other question regarding an entry counter?
Thanks for the A.


I thought you closed out your other question.....aren't you going to implement it with the excel db?
Avatar of MNY

ASKER

I will stick with the ASP page. I'm not going to pick a database... I just need to know if there's such a thing?
(entry counter)