2

これが私のコードです

ファイルexternal.js:

var TRange=null;

function findString (str) {
 if (parseInt(navigator.appVersion)<4) return;
 var strFound;
 if (window.find) {

  // CODE FOR BROWSERS THAT SUPPORT window.find

  strFound=self.find(str);
  if (!strFound) {
   strFound=self.find(str,0,1);
   while (self.find(str,0,1)) continue;
  }
 }
 else 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();
  }
 }
 else if (navigator.appName=="Opera") {
  alert ("Opera browsers not supported, sorry...")
  return;
 }
 if (!strFound) alert ("String '"+str+"' not found!")
 return;
}

ファイルSearch.html:

<html>
<head></head>
<title>Search</title>
<body>
<form name="input" action = "external.js">
Search for: <input type="text" name="keytext" /><br />
</form>
<p> You can search this text. Search the text again</p>
</body>
</html>

外部JavaScript(external.js)を呼び出してパラメーターを渡すことができるように、HTMLファイルのフォーム部分を変更するメソッドを探しています。パラメータは、入力ボックスのテキストになります。

4

1 に答える 1

4

search.htmlに、javascriptファイルへの参照を追加します。そのようです

<script src="external.js" type="text/javascript"></script>

その後、次のようにjavascriptファイル内の関数を呼び出すことができます

<input type="text" name="keytext" onClick='findString("test")'/>

この例では、文字列「test」を関数findStringに渡します。

編集:他のイベントも使用できますonblur。イベントをいつ発生させるかによって異なります。

お役に立てれば。

于 2012-07-19T18:26:23.267 に答える