Générer un lien dynamiquement sur onkeyup

Résolu
Southstyle Messages postés 46 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 26 mars 2021 - Modifié par Southstyle le 12/07/2016 à 20:59
Southstyle Messages postés 46 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 26 mars 2021 - 13 juil. 2016 à 10:24
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

Southstyle Messages postés 46 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 26 mars 2021
12 juil. 2016 à 21:06
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.
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
12 juil. 2016 à 21:46
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"'
}


0
Southstyle Messages postés 46 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 26 mars 2021
13 juil. 2016 à 10:24
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.
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
12 juil. 2016 à 21:47
un train de retard
0
Rejoignez-nous