Insérer le pseudo dans un lien (javascript)

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Insérer le pseudo dans un lien (javascript)

Message par Maximelamb le Ven 30 Sep 2016 - 17:31

Bonjour Smile

mon problème est sans doute assez simple à résoudre, mais on ne peut pas dire que je sois un pro du JS, loin de là, je me tourne donc vers vous Smile

J'aimerais insérer dans un lien le pseudo de l'utilisateur qui clique sur ce lien (http://monsite.com/pseudo=...).

J'ai utilisé le code suivant afin de récupérer le pseudo du membre en question, ça fonctionne:

Code:
<script type="text/javascript" src="http://tinyurl.com/var-fa"></script>
<span id="lien"><span class="USERNAME"></span></span>

C'est ensuite que ça se corse ! J'ai essayé:

Code:
<a id="link" href="">Le lien</a>

<script>
  var pseudo = document.getElementById('lien').innerHTML;
  var lien = 'http://monsite.com/pseudo='+pseudo;
  document.getElementById('link').href = lien;
</script>


Notons que si j'utilise "document.write(lien);", j'obtiens ce que je veux, soit "http://monsite.com/pseudo=Maximelamb".
Sauf que lorsque je clique sur mon lien, j'obtiens "http://monsite.com/pseudo=<span class="USERNAME"></span>" (ce qui est logique d'ailleurs, étant donné que j'utilise .innerHTML) scratch

Quelqu'un aurait-il la solution à mon problème ?

Merci Smile

Maximelamb
*

Masculin
Messages : 31
Inscrit(e) le : 14/09/2012

http://www.thff.net
Maximelamb a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Insérer le pseudo dans un lien (javascript)

Message par Neptunia le Ven 30 Sep 2016 - 19:48

Bonjour ^^

Peut-être comme ceci ?

Code:
var lien = 'http://monsite.com/pseudo='+_userdata["username"];




Edité :

Un truc auquel j'avais pensé lors de ma réponse initiale, mais que j'avais ignoré parce qu'après tout ce n'est pas ce que vous demandiez et ça reste exclusivement votre problème.
Right Le pseudo de l'utilisateur peut changer dans le temps (à moins que les changements soient interdits sur votre forum) et du coup l'url visée serait elle aussi variable.

Un truc auquel je n'avais pas pensé, merci à la personne qui vient de me le signaler par MP.
Right Si vous construisez une URL à partir d'un élément susceptible de contenir des caractères spéciaux comme / \ &, les caractères accentués ou ceux provenant d'un autre alphabet vous allez au devant d'ennuis.

Du coup une alternative serait de passer non pas par le pseudo utilisateur mais par son id utilisateur (dans votre cas sur ce forum c'est 144416) ce qui donnerait
Code:
var lien = 'http://monsite.com/pseudo='+_userdata["user_id"];

Neptunia
+ Hyperactif +

Féminin
Messages : 10930
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Insérer le pseudo dans un lien (javascript)

Message par Maximelamb le Dim 2 Oct 2016 - 20:29

Merci beaucoup pour la réponse Smile

Il se trouve que je n'avais pas pensé à un "détail", certains membres n'ont pas le même pseudo sur mon forum et sur le second site, ça n'aurait donc pas fonctionné pour tout le monde. J'ai donc trouvé une solution très simple qui règle les deux problèmes à la fois: l'utilisation d'un champ de texte dans lequel l'utilisateur rentre son pseudo (le pseudo qu'il utilise sur le second site évidemment):

Code:

<script language="javascript">
function controle(form) {
var pseudo = document.form.input.value;
window.location.href = 'http://www.monsite.com/pseudo=' + pseudo;
}
</script>

Votre pseudo:
<form name="form">
<Input type="text" name="input" value"">
<input type="button" name="bouton" value="Valider" onClick="controle(form)">
</form>

Maximelamb
*

Masculin
Messages : 31
Inscrit(e) le : 14/09/2012

http://www.thff.net
Maximelamb a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum