2017-05-20 1 views
0

J'ai utilisé une fonction pour capturer la valeur de chaîne de requête de "nom" - à savoir, imaginer un site d'invitation de partie;Comment passer une var Javascript dans une balise href?

https://cometomyparty.com?name=phil

La fonction est utilisée;

<script type="text/javascript"> 
    function getQuerystring(){ 
    var q=document.location.toString(); 
    q=q.split("?"); 
    q=q[1].split("&"); 
    var str="" 
    for(i=0;i<q.length;i++){ 
     tmp=q[i].split("=") 
     str+=" "+tmp[1]+"<br />" 
    } 
    document.getElementById("name").innerHTML=str 
    } 
    onload=function(){ 
    getQuerystring() 
    } 
</script> 

Ensuite, je peux appeler la valeur de « nom » à l'aide id = « nom » où je veux l'utiliser sur ma page, par exemple dans le titre, je pourrais dire, Phil, impatient de vous avoir à la partie ...

Comment puis-je ajouter dynamiquement ma valeur « nom » (var str) dans un emplacement de lien html à savoir

<a href="http://example.com?name=str">Link Text</a> 

Ce qui reviendrait, dans l'exemple ci-dessus;

http://example.com?name=phil 

Répondre

1

Essayez ceci:

<a href="#" onclick='goToPage(event)'>Link Text</a> 

<script> 

function goToPage(event) { 
    event.preventDefault(); 
    window.location='http://example.com?name='+str; 
} 

</script> 

Idéalement vous voulez utiliser jquery où vous pouvez utiliser:

$('#link').click(function(event) { 
    event.preventDefault(); 
    var link = $(this).attr('src'); 
    window.location=link+str 
}); 

Vous serait bien sûr vouloir supprimer "str" ​​de href

+0

Remarque: 'str' n'est actuellement défini dans aucun extrait. –

+0

http://stackoverflow.com/questions/5871640/why-is-using-onclick-in-html-a-bad-practice –

+0

Un attribut href vide échoue également à la validation W3C. Si vous allez avec cette méthode, au moins mettre * quelque chose * là, même juste un '#' – Scoots

2

Vous pouvez accéder à l'attribut href du tag <a> directement à l'adresse o r en utilisant .setAttribute:

// Using .href: 
document.getElementById("name").href=str; 

// Using . setAttribute: 
document.getElementById("name").setAttribute ("href", str); 

Soyez conscient que vous devriez avoir cette étiquette <br/> dans le src du lien.