Problème lien html avec variable et onmouseover et onmouseout

Résolu/Fermé
hellricky Messages postés 5 Date d'inscription vendredi 11 avril 2014 Statut Membre Dernière intervention 14 avril 2014 - 11 avril 2014 à 13:46
hellricky Messages postés 5 Date d'inscription vendredi 11 avril 2014 Statut Membre Dernière intervention 14 avril 2014 - 14 avril 2014 à 13:22
Bonjour a tous,
je me permet de vous solliciter car je me prend la tête sur les ' et " et je pense que vous allez pouvoir rapidement me répondre.
Je souhaite afficher un lien html,qui se trouve dans une variable php, et qui change de couleur au passage de la souris.
Voici mon code actuel qui me prend bien la variable en lien mais pas les onmouseover et onmouseout :
echo "<a href=$chemin><font size=2 COLOR='White' onmouseover='this.style.color='black'' onmouseout='this.style.color='White''><b><center>blabla</center></b></font></a>";

Merci d'avance pour l'aide que vous pourrez m'apporter.

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
11 avril 2014 à 16:42
Salut,

Par habitude, j'utilise toujours des doubles quotes pour les attributs html. Si tu veux le contraire il suffit juste d'inverser les quotes simples et doubles.

Commençons par écrire ton lien en html :

<a href="chemin"><font size="2" color="white" onmouseover="this.style.color='black'" onmouseout="this.style.color='white'"><b>blabla</b></font></a>


Si tu utilises des doubles quotes pour entourer la valeur des attributs html, tu dois utiliser à l'intérieur uniquement des simples quotes (et inversement) :

<div onmouseover="this.style.color='black'">exemple valide</div>


<div onmouseover='this.style.color="black"'>exemple valide</div>


<div onmouseover='this.style.color='black''>exemple non valide</div>


<div onmouseover="this.style.color="black"">exemple non valide</div>


Si on écris ton lien en php, le même principe est utilisé pour les chaines de caractères php : si on utilise des simples quotes, il faut utiliser uniquement des doubles quotes à l'intérieur de la chaine ou échapper les simples quotes avec le caractère \ (et inversement) :

Par habitude j'utilise souvent des simples quotes pour délimiter mes chaines de caractère php, soit :

echo '<a href="' . $chemin . '"><font size="2" color="white" onmouseover="this.style.color=\'black\'" onmouseout="this.style.color=\'white\'"><b>blabla</b></font></a>';

On utilise donc la concaténation pour ajouter la variable du chemin et on échappe les simples quotes pour ne pas casser notre chaine de caractère php.

PS : je me suis permis de supprimer la balise <center> qui ne devrait plus être utilisé aujourd'hui, elle est obsolète et ne sera bientôt pas prise en compte. Il faut utiliser le css pour centrer un élément :)

Bonne journée
1
hellricky Messages postés 5 Date d'inscription vendredi 11 avril 2014 Statut Membre Dernière intervention 14 avril 2014
14 avril 2014 à 13:22
Merci d'avoir pris le temps de me répondre et encore plus de m'avoir donné une réponse aussi complète!!
0