Passer une variable php dans du javascript

Signaler
Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Statut
Membre
Dernière intervention
16 novembre 2008
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
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

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
salut


nav_iobj[0].src = "includes/languages/"+lang+"/images/Az.jpg ";
Messages postés
26
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
23 février 2011
1
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
Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Statut
Membre
Dernière intervention
16 novembre 2008

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
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]