Générer un lien dynamiquement sur onkeyup [Résolu]

Signaler
Messages postés
45
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
8 novembre 2018
-
Messages postés
45
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
8 novembre 2018
-
Bonjour,
Je souhaiterais faire passer une variable dans un lien de manière dynamique.
Exemple : il y a un textarea rempli par défaut "Hello World!". Ce texte doit être transmis dans <a href="monlien?content=SGVsbG8gV29ybGQh" rel="nofollow" target="_blank"> (NB : SGVsbG8gV29ybGQh est le btoa() de "Hello World!")
Mais si l'utilisateur change le texte, j'aimerais qu'en JavaScript mon lien s'adapte <a href="monlien?content=letextedelutilisateur>
Le lien devra s'adapter soit sur onkeyup dans le champ textarea, soit sur le lien au moment où je clique dessus (onclick).
Je précise que je ferai un btoa() pour coder l'url puis, en PHP, un base64_decode pour récupérer la variable de l'autre côté. Je serai le seul utilisateur à appeler cette fonction, c'est pour mon backoffice.
En espérant m'être exprimé clairement, je vous remercie d'ores et déjà pour votre aide.
Raph

3 réponses

Messages postés
45
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
8 novembre 2018

J'ai trouvé :-) J'avais pas assez essayé avant de poster mon message. Solution ci-après.

Pour le lien :
<a id="dynamiclink" href="lien.php?content=montexteencodeenbase64" rel="nofollow" target="_blank">Le lien</a>

Pour le champ textarea :
<textarea name="contenuvariable" onkeyup="getElementById('dynamiclink').href=('lien.php?content=' + btoa(this.value))">Le texte que je veux écrire par défaut, mais modifiable par l'utilisateur</textarea>

Voilà, si ça peut aider quelqu'un, tant mieux.
Messages postés
1768
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
29 septembre 2020
102
bonjour

essai cette syntaxe

<textarea onkeyup="modif_url(this)"> </textarea>




function modif_url(lui){

var encodage=btoa(lui.value)

document.getElementById('dynamiclink').href='"lien.php?content="'+encodage+'" rel="nofollow" target="_blank"'
}


Messages postés
45
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
8 novembre 2018

Bon, après il y a le style aussi. Ton style est meilleur que le mien.
Donc un train de retard, mais un train stylé. :-)

Je n'ai pas essayé ton code puisque le mien fonctionne. Mais merci quand même.
Messages postés
1768
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
29 septembre 2020
102
un train de retard