• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 179
  • Last Modified:

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 !
0
MNY
Asked:
MNY
  • 4
  • 4
1 Solution
 
ClassyLinksCommented:
You need to show us the code you are using for your search tool.
0
 
MNYAuthor Commented:
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>
0
 
ClassyLinksCommented:
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.  
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
MNYAuthor Commented:
I just want to be able to continue searching after it found one instance...like Microsoft's
0
 
ClassyLinksCommented:
May I suggest this script if you are sticking with Javascript.

http://www.infohiway.com/javascript/search/wildcard.htm

It will display all instances of a word and let the user choose which to go to.
0
 
MNYAuthor Commented:
anynews on my other question regarding an entry counter?
0
 
ClassyLinksCommented:
Thanks for the A.


I thought you closed out your other question.....aren't you going to implement it with the excel db?
0
 
MNYAuthor Commented:
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)
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now