【问题标题】:Passing an URL parameter to a href link using Javascript使用 Javascript 将 URL 参数传递给 href 链接
【发布时间】:2012-03-19 11:42:55
【问题描述】:

我有以下代码可以将 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] 是将参数添加到链接所需的任何代码?

提前致谢。

【问题讨论】:

    标签: javascript url parameters


    【解决方案1】:

    你应该给你的链接一个 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)
    

    【讨论】:

      【解决方案2】:

      把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 的示例也很有效。

      祝你好运!

      【讨论】:

      • 嗨,谢谢 :) 请原谅我的无知,但是... a href 标签应该是什么样的?另外,我有 3 个不同的 a href 标记需要附加值...上面的代码是否适用于任意数量的链接?
      猜你喜欢
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多