Inclure une variable php dans du javascript

Inclure une variable php dans du javascript - HTML/CSS - Programmation

Marsh Posté le 19-12-2010 à 21:25:24    

Bonjour à tous,
 
J'ai un petit TextArea en javascript qui fonctionne très bien (il est utilisé par l'éditeur de texte TinyMCE).  
En voivi le code:

Code :
  1. <script language="javascript" type="text/javascript">
  2.   with (document.getElementById ("content_placeholder" )) {
  3.     with (appendChild (document.createElement ("TEXTAREA" ))) {
  4.       name = "elm1";
  5.       cols = 117;
  6.       rows = 20;
  7.       value = "Texte par défaut";
  8.     }
  9.   }
  10. </script>


 
Le texte que j'écris avec l'éditeur est inséré dans une base de données avec un identifiant propre. Je voudrais inclure une variable php dans le [I]value[/I] de ce TextArea pour afficher le dernier message inséré dans ma base de données.
 
En gros l'utilisateur quand il se connecte sur l'éditeur de texte de cette page doit voir le texte actuel par défaut, comme ça il peut modifier que quelques lignes s'il le souhaite sans avoir à tout retaper.
 
Le contenu de ce texte est déjà récupéré dans une requête php située plus haut dans ma page.

Code :
  1. <?php
  2.   require "../include/param.inc.php";
  3.   unset($afficheEditAccueil);
  4.   //création de la requête
  5.   $afficheEditAccueil = "SELECT edit_content FROM tiny_edit WHERE id_class='1' ORDER BY id_edit DESC LIMIT 0, 1";
  6.   //execution de la requête "afficheEditAccueil" (ou affiche l'erreur)
  7.   $aea=mysql_query($afficheEditAccueil) or die(mysql_error());
  8.   //affiche le résultat
  9.    while ($donnees = mysql_fetch_array($aea) )
  10.   {
  11.   $afficheEdit=(stripslashes($donnees['edit_content']));
  12.   }
  13. ?>

 
 
Le problème que je rencontre c'est quand je veux appeler cette variable dans le JavaScript. Cela ne m'affiche rien du tout, voir même parfois cela empêche le Textarea de s'afficher! :cry:
 
Je procède comme cela:

Code :
  1. <script language="javascript" type="text/javascript">
  2.   with (document.getElementById ("content_placeholder" )) {
  3.     with (appendChild (document.createElement ("TEXTAREA" ))) {
  4.       name = "elm1";
  5.       cols = 117;
  6.       rows = 20;
  7.       value = '<?php echo $afficheEdit; ?>' ;
  8.     }
  9.   }
  10. </script>

 
 
Qu'est-ce qui n'est pas correcte d'après vous dans cette technique et comment y remédier?
 
Merci


---------------
Quand vous demandez sur un forum comment changer un pneu de voiture peu de gens vous répondent. Et ceux qui le font vous expliquent généralement comment rouler sur 3 roues.
Reply

Marsh Posté le 19-12-2010 à 21:25:24   

Reply

Marsh Posté le 19-12-2010 à 23:32:28    

que te donne la console d'erreur de firebug ?  
as-tu au moins regardé ce que te donne le HTML généré en affichant le code source de ta page ?


---------------
Blablaté par Harko
Reply

Marsh Posté le 20-12-2010 à 00:10:56    

Bonjour,
 
Oui Gatsu35 j'ai "au moins" regardé ce que cela donne dans ma page HTML générée  ;)  
 
Ma variable est bien transcrite dans le value de mon javascript, mais en fait les données sont trop importantes je pense pour être affichées (940 caractères), d'où le plantage du textarea. J'aurais du le précisé dans mon message précedent tu as raison. Du coup je pense que cette technique ne peut être employée, mais je ne connais pas d'autres solutions pour inclure ces données issues de ma base MySQL dans le textarea.
 
Aurais tu une piste à me suggérer?
 
Cordialement.


---------------
Quand vous demandez sur un forum comment changer un pneu de voiture peu de gens vous répondent. Et ceux qui le font vous expliquent généralement comment rouler sur 3 roues.
Reply

Marsh Posté le 20-12-2010 à 08:04:37    

tu pourrais poster le coe généré, et si tu regardes avec firebug je sens l'erreur, pourquoi ? ben tout simplement que ta chaîne est entre simple quotes (') et tu fais un echo du contenu d'une chaine qui si ça se trouve contient aussi des simple quotes ('); soit tu antislashes tous tes (') dans ta chaines toi tu passes par autre chose, mais si tu voulais bien poster le code html généré ça serait pas un luxe


---------------
Blablaté par Harko
Reply

Marsh Posté le 20-12-2010 à 12:26:32    

Devant les problèmes rencontrés avec JavaScript (que je ne maitrise pas du tout) j'ai décidé de revenir à mes premiers amours et suis revenu à un form en html, qui, bien que simple fonctionne parfaitement.
 

Code :
  1. <form method="post" action="gestion-edit_value.php">
  2. <div>
  3. <h2>Edition des pages</h2><br />
  4. <br />
  5. <div>
  6.  <textarea id="elm1" name="elm1" rows="25" style="width: 100%">
  7.   <?php echo ($afficheEdit); ?>
  8.  </textarea>
  9. </div>
  10. <br />
  11. <input type="submit" name="save" value="Submit" />
  12. <input type="reset" name="reset" value="Reset" />
  13. </div>
  14. </form>


 
Du coup mon [COLOR="DarkGreen"]<?php echo ($afficheEdit); ?>[/COLOR] s'intègre parfaitement et je n'ai plus de problème d'affichage. Je sais que j'ai contourné le problème et que j'aurais mieux fait de persévérer pour trouver une solution, mais le temps ne joue pas en ma faveur, j'ai donc du faire un choix pratique.
 
En tout cas merci pour tes interventions Gatsu35.

Reply

Sujets relatifs:

Leave a Replay

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