2012-07-19 311 views
1

這裏是我的代碼如何將變量從html表單傳遞給.js文件?

文件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> 

我找修改HTML文件,這樣的組成部分的方法它可以調用外部JavaScript(external.js)並傳遞參數。該參數將是輸入框中的文本。

+3

這是一個基本的基本問題,我建議你閱讀一下html和javascript的基本web開發。它會比你試圖用Q&A來拼湊這樣的東西更加好。 – kakridge 2012-07-19 18:28:53

+0

將@ kakridge的建議作爲建設性的批評。 :) – 2012-07-19 18:55:18

+0

謝謝@Abhishek。我想我衝過那個評論。我當然認爲這是有建設性的。我鼓勵任何想提高自己編程能力的人。 – kakridge 2012-07-19 19:01:20

回答

3

在您的search.html中添加對JavaScript文件的引用。像這樣

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

,那麼你可以在JavaScript文件中調用函數像這樣

<input type="text" name="keytext" onClick='findString("test")'/> 
在這個例子中

你會傳遞字符串「測試」你的函數FINDSTRING

編輯:您還可以使用其他事件,例如onblur,這一切都取決於您想要觸發事件。

希望這會有所幫助。

+0

基本HTML/javascript:導入外部js文件使用HTML代碼:'' – 2012-07-19 19:12:50

+0

如果我們試圖在文本框中搜索用戶輸入的文本,該怎麼辦:例如:搜索for: gUgU 2012-07-19 22:08:12

+0

也可以。 – 2012-07-20 00:39:13