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

Southstyle 30 Messages postés mardi 17 avril 2012Date d'inscription 15 décembre 2017 Dernière intervention - 12 juil. 2016 à 20:40 - Dernière réponse : Southstyle 30 Messages postés mardi 17 avril 2012Date d'inscription 15 décembre 2017 Dernière intervention
- 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
Afficher la suite 

4 réponses

Répondre au sujet
Southstyle 30 Messages postés mardi 17 avril 2012Date d'inscription 15 décembre 2017 Dernière intervention - 12 juil. 2016 à 21:06
0
Utile
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.
Commenter la réponse de Southstyle
@karamel 1650 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention - 12 juil. 2016 à 21:46
0
Utile
1
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"'
}


Southstyle 30 Messages postés mardi 17 avril 2012Date d'inscription 15 décembre 2017 Dernière intervention - 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.
Commenter la réponse de @karamel
@karamel 1650 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention - 12 juil. 2016 à 21:47
0
Utile
un train de retard
Commenter la réponse de @karamel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.