Appele d'une fonction Javascript avec une variable PHP

Signaler
Messages postés
48
Date d'inscription
vendredi 14 juin 2002
Statut
Membre
Dernière intervention
9 août 2009
-
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
-
Bonjour, voila mon problème :
J'ai une fonction Javascript :

function Bulle(texte, titre) {
document.all["LaBulle"].innerHTML= "<table width=100% border=0 cellpadding=0 cellspacing=0>----, "+Btitre+" </td>
"+Btexte+"
</td></tr></table>";
Bulle.left = event.x+10;
Bulle.top = event.y+10;
Bulle.visibility = "visible";
}

Cette fonction affiche une Infobulle vers la souris.
J'aurais aimé l'appeler lors du passage de la souris sur un lien, donc sur un onmouseover. Seulement, la variable texte de la fonction est composé grace à du PHP. J'appele donc la fonction de cette manière :
[# Test]

et la, au lieu de m'afficher ma bulle, il m'affiche le contenu de $Texte !!!

J'ai tester la fonction en HTML (donc en faisant [# Test]) et ca marche. Ca vient donc de PHP. Je ne comprend pas, si quelqu'un peux m'aider.. Merci

----fab30----

3 réponses

Messages postés
60
Date d'inscription
mercredi 9 juillet 2003
Statut
Membre
Dernière intervention
3 septembre 2004

En faite il faut faire un echo de addslashes($Texte) comme ceci:

[# Test]


Mais il existe un racourcis de cette écriture:
[# Test]


Voila.

Une bonne programmation c'est avant tout une bonne analyse. :)
Messages postés
48
Date d'inscription
vendredi 14 juin 2002
Statut
Membre
Dernière intervention
9 août 2009

Merci beaucoup pour ta réponse rapide, je viens de découvrir mon bug : dans ma variable $Texte, je mettais du code HTML formant un tableau rempli d'informations tirées d'une bas de données. Or, lors de la déclaration de ce tableau, je faisais des choses de ce type : $Texte=$Texte."<td with="15">";
Et c'est ça qui me mettait tout en l'air.
En écrivant $Texte=$Texte."<td with='15'>"; je n'ai plus eu aucun problème.
Par contre, je ne connaissais pas la notation <?=addslashes($Texte);?>.
Je suppose que le = représente implicitement un echo ou un print(). Et de la me viens un autre interrogation qui n'a rien à voir avec mon problème initial : Que vaut il mieux utiliser :
<?=addslashes($Texte);?>
<?addslashes($Texte);?>
<?echo addslashes($Texte);?>
<?print(addslashes($Texte));?> ?
Et pourquoi ?
Merci en tout cas pour ton aide rapide
----fab30----
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Pas fonctionnel :

<?addslashes($Texte);?>
<?echo addslashes($Texte);?>
<?print(addslashes($Texte));?> ?

mais:
<?php echo addslashes($Texte);?>
<?php echo addslashes($Texte);?>
<?php print(addslashes($Texte));?> ?

Le mieux :
<?php echo addslashes($Texte);?>

car le echo est le plus rapide et les balise <? se sont pas des balise php, elle seront bientôt plus reconnu par les serveurs.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]