Passer une variable php dans du javascript

cs_ciju Messages postés 2 Date d'inscription samedi 2 décembre 2000 Statut Membre Dernière intervention 16 novembre 2008 - 16 nov. 2008 à 02:28
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 17 nov. 2008 à 14:13
Bonjour,

J'ai un soucis d'exactitude dans la definition de mon code, 
est ce quelqu'un pourrait  me donner la solution, 
etant definitevement  nul !   je m'en remet a vos lumières;)

dans mon script qui me permet d'afficher tel ou tel image dans un  menu j'ai la ligne suivante:

 nav_iobj[0].src = "includes/languages/french/images/Az.jpg ";

mais voila  je voudrais attaquer soit le repertoire  "french"  soit le repertoire "english"   'dans ma ligne de code c'est   toujours le rep "french"   ...

Ma variable  language generale est defini en php dans un ensemble de variables a l'ouverture de mes pages  que je recupere  avec  $language
ayant bien saisie la maniere de  passer du php sur du javascript  j'ai definie une variable  language  comme suit que je place dans le header de mes pages:

script
var lang=<?php echo $language; ?>
/script

Je recupere donc bien mon  "french" ou  "english"  suivant  la parti du site dans  laquel je suis  (ca j'ai testé et c'est ok)

Mais je n'arrive pas  a changer  correctement mon  nav_iobj[0].src = "includes/languages/french/images/Az.jpg ";      pour faire jouer ma variable var lang a la place de mon "french"

quelqu'un aurait il la gentilesse de me donner  la syntaxe correcte  car j'ai voulu concatainer  cela mais sans  resultat !

1000 merci  je dois faire une faute de syntaxe je pense

ciju

4 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 nov. 2008 à 03:19
salut


nav_iobj[0].src = "includes/languages/"+lang+"/images/Az.jpg ";
0
TheCamel Messages postés 26 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 23 février 2011 1
16 nov. 2008 à 20:44
Bonjour à toi.

J'ai été confronté au même problème que toi dans le passé. La solution est la suivante :

<script>
var lang=<?php echo $language; ?>;
</script>

Ensuite :

nav_iobj[0].src = "includes/languages/" + lang + "/images/Az.jpg ";

Mais tu dois faire attention à :
- Au fait que la valeur de ta variable PHP correspond bien au nom de dossier,
- A ne pas oublier les ; à la fin des lignes (ce que tu as fait dans ton header).

J'espère avoir été clair.
Si tu as d'autres questions, n'hésites pas.

Ben
0
cs_ciju Messages postés 2 Date d'inscription samedi 2 décembre 2000 Statut Membre Dernière intervention 16 novembre 2008
16 nov. 2008 à 22:12
Tout d'abord merci a vous pour vos réponses..

Bon alors  j'ai essayer de comprendre d'ou pourrait provenir la difficulté au code de s'executer  de maniere classique puisque  vous me donnez tous les 2 la réponse que j'avais  testé dans l'un de mes différents essaies de conca

heu ...donc

est ce que le fait que mes differents codes soient dans plusieurs fichiers differents  peut avoir une incidence ?

car   mon index.php  a un "include" sur un fichier header.php dans lequel j'ai une partie  de mon code javascript du menu  et  le reste est dans un fichier  ".js"   , lui aussi appelé quand  le fichier index est chargé
alors peut etre que    cela peut amener  une problematique dans  la comprehenssion du code ?

 bizzare quand meme ,  car   ca devrait etre plutot simple mon pb :)

si vous avez des pistes  pour tester pourquoi ca ne fonctionne pas  je vous en remercie !

a+

ciju
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 nov. 2008 à 14:13
bonjour,

ben déjà,     var lang="
<?php echo $language; ?>;";
sinon javascript, ça va pas lui plaire...

sinon.. regarde dans ta page html générée, tu as peut-être
         une "incohérence de communication" entre php / html+javascript
include, .js... ou autres : aucune importance, ce sont des copié/collé
         du contenu du fichier, rien de plus.

Cordialement

         Bul [mon Site] [M'écrire]         
0
Rejoignez-nous