Pb avec les string (mix php-javascript)

[Résolu]
Signaler
Messages postés
66
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
16 juillet 2007
-
Messages postés
111
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
1 août 2008
-
Salut,

je viens vous demandez de l'aide car j'ai un probleme que je ne sais resoudre.

Je fais actuellement une fonction javascript qui par selection dans un menu va generer les champs d'un formulaire (deja realiser auparavant sans probleme particulier).

Mon menu est generer dynamiquement avec des donnees venant de MySql, tout comme les donnees du formulaire.

Dans ma fonction javascript je mets du php :

function generateFields(){
   ...
   <?php
   ...
   while($temp = mysql_fetch_array($res)){
      $id_page=$temp['id_page'];
      echo 'alert('.$id_page.'); ';
      // fonctionne correctement avec un type integer
      
      $category=$temp['category'];
      echo 'alert('.$category.'); ';
      // le probleme est la : pas d'alert dans le naviguateur
      // il ne veut pas prendre en compte les caractere
      //aucun affichage de la variable qui contient par exemple un mot comme apartement
   }
   ...
   ?>
}

Si dans ma base je remplace le mot apartement par un numero comme 27, mon alert s'affiche avec le numero 27 et si je remets une chaine de caractere alors plus d'affichage.

J'espere m'etre bien expliquer et que quelqu'un pourra m'aider a corriger mon probleme.

++

2 réponses

Messages postés
111
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
1 août 2008

Salut,


C'est tout à fait normal, il suffit juste de mettre le texte à afficher entre quote  ' :
 echo 'alert('.$category.'); ';
devient donc
 echo "alert('".$category."');";
car dans le cas de alert(25) il n'y a pas d'ambiguité il ne peut qu'afficher l'entier 25

mais dans le cas de alert(yajev) il ne sait pas s'il doit afficher le contenu de la variable

javascript yajev ou de la chaine de caractere "yajev".

Il suffit de tester alert(25), alert(yajev) et alert('yajev') dans un navigateur pour voir la différence...


Henri
Messages postés
66
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
16 juillet 2007

Information supplementaire :

J'ai une autre application web qui fait appel a une fonction du meme type mais celle-ci en revanche genere mais champs avec des strings , ca fonctionne parfaitement sur celle la.