View Full Version : Hightlighting text
flash
10-14-2002, 12:06 PM
Hello.
I am working on a ASP search page. What I am trying to do is use Javascript to highlight the word found within the document.
Can someone please help me with the coding for the highlighting of the text?
Any help at all would be great!
Thanks
beetle
10-14-2002, 03:09 PM
Are your result pages HTML pages? or ASP? If ASP, then it'd be much better to do the 'highlighting' with ASP....
flash
10-14-2002, 04:19 PM
Yes I am using ASP.
I think I have sorted it out already though.
I am using:
<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>
<%
var test = ""
%>
<form name="form1" onSubmit='return findInPage(this.string.value);'>
<font size=3><input name="string" type="hidden" onChange="n = 0;" value="HELLO"></font>
<input type="submit" value="find">
</form>
If you have another way then please do share it with me :)
chrismiceli
10-14-2002, 11:20 PM
you can also hightlight with this command too
document.select();
whammy
10-15-2002, 01:53 AM
If it works, use it (a little Bruce Li theory). :)
But don't be afraid to mess around with ASP and find a server-side ONLY method to accomplish the same task, since then you don't have to rely on any browser's interpretation of your code (assuming the output is valid HTML).
;)
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.