Se connecter / S'enregistrer
Votre question

javascript et entité html

Tags :
  • Copier coller
  • Programmation
Dernière réponse : dans Programmation
26 Novembre 2006 21:40:30

bonjour
bon je n'y connais presque rin en javascript en je comprend pas ...
j'ai une petite fonction :
  1. function popup(contenu){
  2. newpage=open('','newpopup','width=400,height=400,toolbar=no,scrollbars=no,resizable=no');
  3. newpage.document.write("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>");
  4. newpage.document.write("<html><head><title>Source a copier-coller (Ctrl+C - Ctrl+V)</title></head>");
  5. newpage.document.write("<body>"+contenu+"</body></html>");
  6. }


qui marche bien
  1. <a href="#" onclick="popup('coucou salut bonjour')">lien pop-up</a>

sauf quand je lui passe des entité html...
exemple :
  1. <a href="#" onclick="popup('<?php echo "encore ça en couleur"; ?>')">lien pop-up</a>

je comprend pas pourquoi ..
merci d'avance

Autres pages sur : javascript entite html

27 Novembre 2006 11:06:53

ce n'est pas des entités html que tu lui passes, c'est du php.
or le php s'execute du cote serveur, donc ca ne marchera pas
ensuite y a pas besoin d'utiliser les < etc... dans des commandes javascript pour afficher de l'html
27 Novembre 2006 18:47:01

nié
  1. <?php echo "encore ça en couleur"; ?>
c'est po du php ....
ça c'est du php
  1. <?php echo "encore ça en couleur" ; ?>

je sais ce que c'est du php ... mais je l'ecrit comme ça pour qu'a l'écranc ça afiche: <?php echo "encore ça en couleur" ; ?> et po : encore ça en couleur
ce truc est généré par du php ...

ps : voici le code:
  1. // - - - - - - - - - - - - coloration de code - - - - - - - - - - -
  2. // on crée une fonction temporaire dans une variable ($code_color) qui colore le code php
  3. $code_color = create_function('$match', '$ligne1 = "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"> \n";
  4. $str = html_entity_decode($match[1]);
  5. $str= highlight_string($str, TRUE);
  6. $b = 0;
  7. $str = explode("<br />", $str);
  8. for($i = 0,$j=1; $i <= count ($str)-1; $i++,$j++) {
  9. $couleur = ($b & 1) ? "ligne-0" : "ligne-1" ;
  10. $ligne2= " <tr> \n";
  11. $ligne3[$i]= " <td class=\"num\">$j</td> \n";
  12. $ligne4[$i]= " <td class=\"$couleur\" nowrap> ".$str[$b]."</td> \n";
  13. $ligne5= " </tr> \n";
  14. $b++;
  15. }
  16. $ligne7 = "<tr> \n <td class=\"num\">+</td> \n <td class=\"ligne-1\" nowrap>
  17. <a href=\"#\" onclick=\"popup(\'".$match[1]."\')\">lien pop-up</a></td> \n </tr> ";
  18. $ligne6 = "</table> \n";
  19.  
  20. for($i=0;$i<sizeof($ligne3);$i++){
  21. if ($i==0){$ligne2345 = $ligne2.$ligne3[$i].$ligne4[$i].$ligne5;}
  22. else {$ligne2345 = $ligne2345.$ligne2.$ligne3[$i].$ligne4[$i].$ligne5;}
  23. }
  24.  
  25. return $ligne1.$ligne2345.$ligne7.$ligne6;');
  26. // on remplace ce qui ce trouve entre [code2=html]<pre class="html bb-code"><ol><li style="font-weight: normal;"><div style="margin:0; padding:0; background:none;">&nbsp;</div></li></ol></pre> par
  27. // le résultat retourné par la fonction temporaire($code_color)
  28. $str=preg_replace_callback('`\<pre class="html bb-code"><ol><li style="font-weight: normal;"><div style="margin:0; padding:0; background:none;">(.+?)\</div></li></ol></pre>`is',$code_color,$str);
[/code2]

ce code est basé sur http://www.comscripts.com/sources/php.affichage-d-1-sou...
Contenus similaires
27 Novembre 2006 20:14:20

autant pour moi, alors il te faut rajouter un
  1. newpage.document.close ();

et remplacer les & par & parce qu'ils sont intérprétés lorsqu'ils sont écrits :) 
27 Novembre 2006 21:14:28

merci bien... ou ça marche ...
en fait j'a rajouté un htmlentities pour les & par & ...
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS