2012-02-29 11 views
3

を使用してhrefのリンクにURLパラメータを渡す:私はformタグにURLパラメータを渡すために働いて、次のコードを持っているのJavascript

<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]はパーを追加するために必要とされるコードのどのような作品ですameterにリンクしますか?

ありがとうございます。

答えて

6

あなたはあなたにIDを与える必要がありますが、このように、リンクされています

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

そして、あなたは、問題を解決するための純粋なJavascriptを使用したり、jQueryのを使用するには、2つの方法があります:あなたはjqueryのを使用している場合

をあなたのonLoad関数を使用して、内部の次を注入することができます

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

OR純粋なJavaScriptを使用して:

var url = "http://www.mysite.com?source=" + value; 
var element = document.getElementById('YOUR_ID'); 
element.setAttribute("href",url) 
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) 
} 

私はジョアン・アルメイダがそうjQueryのを使用して、彼の例では、あまりにも良い作品を示唆していること、コードの一部を使用しています。

Good Luck!

+0

こんにちは、ありがとう:) 私の無知を間違いますが... hrefタグはどのように見えますか? また、3つの異なるhrefタグがあり、値を追加する必要があります...上のコードは任意の数のリンクで動作しますか? – Lawrence

関連する問題