On-line Guides

How To Guides






The JavaScript FAQ
Prev Home Next

Searching for text

Question: How do I search for a particular text string on the page?

Answer: In Netscape Navigator 4.x, to search for a string use the window.find(string) method; see also Find Dialog. In Internet Explorer 4.x and newer, create a text range object (TRange in the example below) and use the method TRange.findText(string).

Example: The following script gets a text string from the user and then finds and highlights this string on the page.

This example has been created using the following code:
<form name="f1" action="" 
onSubmit="if(this.t1.value!=null && this.t1.value!='')
findString(this.t1.value);return false"
>
<input type="text" name=t1 value="" size=20>
<input type="submit" name=b1 value="Find">
</form>
<script language="JavaScript">
<!--
var TRange=null
function findString (str) {
 if (parseInt(navigator.appVersion)<4) return;
 var strFound;
 if (navigator.appName=="Netscape") {
 // NAVIGATOR-SPECIFIC CODE
 strFound=self.find(str);
 if (!strFound) {
 strFound=self.find(str,0,1)
 while (self.find(str,0,1)) continue
 }
 }
 if (navigator.appName.indexOf("Microsoft")!=-1) {
 // EXPLORER-SPECIFIC CODE
 if (TRange!=null) {
 TRange.collapse(false)
 strFound=TRange.findText(str)
 if (strFound) TRange.select()
 }
 if (TRange==null || strFound==0) {
 TRange=self.document.body.createTextRange()
 strFound=TRange.findText(str)
 if (strFound) TRange.select()
 }
 }
 if (!strFound) alert ("String '"+str+"' not found!")
}
//-->
</script>

JavaScripter.net. Copyright © 1999-2006, Alexei Kourbatov

The JavaScript FAQ
Prev Home Next


Mirrored with kind permission of Alexei Kourbatov Design by Interspire

AltStyle によって変換されたページ (->オリジナル) /