Variable PHP dans du javascript

Variable PHP dans du javascript - PHP - Programmation

Marsh Posté le 13-09-2006 à 12:10:15    

Bonjour,
 
J'ai un fonction javascript de type
 

Code :
  1. function test(id) {
  2. var resultat = '<? echo $tableau[' + id + ']; ?>';
  3. alert(resultat);
  4. }


 
qui ne renvoit rien. Comment passer la variable javascript à la variable de type array $tableau ?
 
Merci beaucoup.

Reply

Marsh Posté le 13-09-2006 à 12:10:15   

Reply

Marsh Posté le 13-09-2006 à 12:20:24    

Ce que tu fais est impossible. Le PHP est généré sur le serveur donc il ne connait pas la valeur de 'id', qui lui provient du javascript (coté client).
 
Si ton tableau est pas trop gros, tu peux tout simplement l'écrire en javascript :
 

Code :
  1. function test(id) {
  2. tableau = new Array(item1, item2 ,...,itemN);
  3. var resultat = tableau[id];
  4. alert(resultat);
  5. }


 
Si par contre, il y a un traitement PHP à faire t'es obligé de refaire un appel vers une page PHP. Soit par une redirection (GET), soit par formulaire (POST), soit en Ajax (XmlHttpRequest).


---------------
Sonnerie polyphonique - Sonnerie Hi-Fi - Sonnerie Ultrason  
Reply

Marsh Posté le 13-09-2006 à 12:23:44    

OK merci beaucoup.

Reply

Marsh Posté le 13-09-2006 à 12:37:24    

En fait le tableau de valeurs $tableau est déjà appelé auparavant (je lance cette fonction JS ensuite). Ainsi, si j'écris

Code :
  1. var resultat = '<? echo $tableau[0]; ?>';


j'ai bien le contenu de $tableau[0] dans resultat.
La seule chose que je souhaite faire est donc de récupérer la variable JS id à la place de la valeur en dur 0 dans $tableau. Ou est-ce toujours le même problème ?
Merci.

Reply

Marsh Posté le 15-09-2006 à 14:08:10    

Un script php ne peut pas exécuter de javascript.
Pour un script php, du code javascript n'est que du texte qui n'est pas encore envoyé au navigateur. Quand au javascript, il ne véra jamais la moindre instruction de php vu que le serveur les aura enlevé du fichier avant de l'envoyer au navigateur.
 
Si tu veux que du code javascript accéde à une case d'un tableau en fonction de la valeur d'une variable javascript alors il faut que le tableau soit un tableau javascript. (au pire, fait toi une fonction php qui transforme un tableau php en un code javascript de génération de tableau dont le contenu sera le même que celui du tableau php)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed