2009-06-10 83 views
31
<script language="javascript" type="text/javascript"> 
var scrt_var = 10; 
</script> 

HTML部分:傳遞JavaScript變量<a href >

<html> 
this is a <a href ="2.html & Key= scrt_var">Link </a> 
</html> 

我只是想發送的JavaScript變量鏈接(URL參數)

沒有AJAX

+0

請正確設置您的問題,以便最大限度地利用它 – 2009-06-10 11:34:52

+0

``沒有`l`? – 2012-05-22 01:20:54

回答

46

如果您希望它是動態的,以便使用單擊時變量的值,請執行以下操作:

<script language="javascript" type="text/javascript"> 
var scrt_var = 10; 
</script> 
<a href="2.html" onclick="location.href=this.href+'?key='+scrt_var;return false;">Link</a> 

當然,這是快速和骯髒的解決方案。您應該有一個腳本,在DOM負載將onclick處理程序添加到所有相關的元素後。

10
<script> 
    var scrt_var = 10; 
    document.getElementById("link").setAttribute("href",scrt_var); 
</script> 
<a id="link">this is a link</a> 
+0

我認爲它會像setAttribute(「href」,「2.html&Key =」+ scrt_var)來形成完整的鏈接。 – Kylotan 2009-06-10 11:42:30

+0

是的,這件事的作品,感謝您的簡短的訣竅:) @erenon – Faizan 2013-02-09 11:14:37

7

或者你可以只使用一個文件撰寫:錨元素

...HTML 
<script type="text\javascript"> 
var location = "http://"; 
document.write('<a href="' + location + '">Link text</a>'); 
</script> 
...the rest 
13

放id屬性

<a id="link2"> 

在頁面加載事件集href屬性:

var scrt_var = 10; 
var strLink = "2.html&Key=" + scrt_var; 
document.getElementById("link2").setAttribute("href",strLink); 
7
<html> 

<script language="javascript" type="text/javascript"> 
var scrt_var = 10; 
openPage = function() { 
location.href = "2.html?Key="+scrt_var; 
} 
</script> 

this is a <a href ="javascript:openPage()">Link </a> 
</html> 
0

如果您使用internatio (i18n),在切換到另一種語言後,可能會在url的末尾添加類似?locale=fr?fr的內容。但是當你點擊事件轉到另一個頁面時,翻譯開關不會穩定。

對於這種一個DOM click事件處理函數必須出示由存儲開關狀態的變量來處理所有的a.href屬性,並將其添加到所有a標籤的尾巴案件。