使用Javascript将URL参数传递给href链接

时间:2012-02-29 23:38:26

标签: javascript url parameters

我有以下代码用于将URL参数传递给表单标记:

<script type="text/javascript">
  function getQueryVariable(variable) { 
 var query = window.location.search.substring(1); 
 var vars = query.split("&"); 
 for (var i=0;i<vars.length;i++) { 
 var pair = vars[i].split("="); 
 if (pair[0] == variable) { 
   return pair[1]; 
    }
  }
}
 function onLoad() {
var value = getQueryVariable("ID");
var e = document.getElementById('your-field');
e.value = value;
}
</script>

和...

<body onload="onLoad()">
 <!-- your form and hidden field goes here -->
 <input type="hidden" name="your-field" id="your-field" />

如何将相同的值传递给HTML链接,以便最终结果为:

<a href="http://www.mysite.com?source=[ID]" >

其中[ID]是将参数添加到链接所需的任何代码段吗?

提前致谢。

2 个答案:

答案 0 :(得分:6)

你应该给你一个id链接,如下所示:

<a id="YOUR_ID" href="#" >

然后你有两种方法来解决问题,使用纯Javascript或使用jQuery:

如果您使用jquery,您可以使用onLoad函数并在内部注入以下内容:

var url = "http://www.mysite.com?source=" + value;
$("#YOUR_ID").attr("href",url)

或使用纯javascript:

var url = "http://www.mysite.com?source=" + value;
var element = document.getElementById('YOUR_ID');
element.setAttribute("href",url)

答案 1 :(得分:1)

将函数onload更改为:

function onLoad() {
   var value = getQueryVariable("ID");
   var e = document.getElementById('your-field');
   e.value = value;

   var url = "http://www.mysite.com?source=" + value;
   var element = document.getElementById('YOUR_<A>_ELEMENT_ID');
   element.setAttribute("href",url)
}

我正在使用Joao Almeida建议的那段代码,所以他使用jQuery的例子也很好。

祝你好运!