htmlentities et js

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : htmlentities et js

par Ajoloca » 26 janv. 2007, 19:52

Re,

Ton fichier .php doit avoir un echo, print, printf, ...

comme ceci
echo '<p class="sst_fiche">Croissance d&eacute;mographique</p> 
        <p class="itm_fiche">2,4% </p>
        
        <p class="sst_fiche">Densit&eacute; de la population</p>
        <p class="itm_fiche">10 habitants/km²</p> 
        
        <p class="sst_fiche">Population urbaine</p>
        <p class="itm_fiche">32,3% </p>
         
        <p class="sst_fiche">Esp&eacute;rance de vie</p>
        <p class="itm_fiche">41ans </p>
        <p class="sst_fiche">Mortalit&eacute; infantile</p> 
        <p class="itm_fiche">12,2% </p>
        
        <p class="sst_fiche">Alphab&eacute;tisation</p>
        <p class="itm_fiche">19% </p>';

par Invité » 26 janv. 2007, 19:44

mon header
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Mes 2 fonctions ajax (instanciation et appel)
<script type="text/javascript">

function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr
			}
			
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(country){
				var xhr = getXhr()
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						document.getElementById('cartes').innerHTML = xhr.responseText;
					//alert(xhr.responseText);
					}
				}
				xhr.open("GET","../Afimmo/templates/afimmo/maps/" + country + ".php");
				xhr.send(null);
			}
</script>
Un boud du code de la page appelée
		<p class="sst_fiche">Croissance d&eacute;mographique</p> 
		<p class="itm_fiche">2,4% </p>
		
		<p class="sst_fiche">Densit&eacute; de la population</p>
		<p class="itm_fiche">10 habitants/km²</p> 
		
		<p class="sst_fiche">Population urbaine</p>
		<p class="itm_fiche">32,3% </p>
		 
		<p class="sst_fiche">Esp&eacute;rance de vie</p>
		<p class="itm_fiche">41ans </p>
		<p class="sst_fiche">Mortalit&eacute; infantile</p> 
		<p class="itm_fiche">12,2% </p>
		
		<p class="sst_fiche">Alphab&eacute;tisation</p>
		<p class="itm_fiche">19% </p>
Voili voilou

par Ajoloca » 26 janv. 2007, 19:21

Montre-nous ça,
car c'est étrange.

par Invité » 26 janv. 2007, 19:07

c bien ça le pb. j'ai remplacé les caractères par leurs entités, et ajouté le fichier php à la page courante avec innerhtml mais ya toujours cet affichage anormal...

par Ajoloca » 26 janv. 2007, 18:46

Re,

Si tu n'écris pas directement avec JS, exp. alert('ton texte'), la meilleure solution c'est de transformer tes caractères accentués et autres entités HTML par leur représentation respective
à ===> &agrave;
é ===> &eacute;
.....

par Invité » 26 janv. 2007, 18:30

j'ai essayé le header en utf8 et iso, ça ne change rien.
Par contre la page chargée par ajax est un fichier php contenant du html et du php, mais pas de déclaration d'entête.

par Ajoloca » 26 janv. 2007, 18:21

Re,

Ça c'est autre chose,

Tout dépends,
d'où viennent ces caractères??? une base, un fichier ...
Comment tu déclares ton encodage de la page par rapport à la source.

par Invité » 26 janv. 2007, 18:18

avec escape(), le navigateur me renvoie des caractères comme ceci :
%0A%0D%0A%3Cstyle%3E%0D%0Ap.t_fiche%20%

En fait j'utilise ajax pour appeler et afficher une page php. Dans cette page php, il y a des caractères spéciaux: ô, é, è...

Quelle fonction utiliser pour avoir un affichage normal? faut -il que je laisse les caractères comme ça ou faut il que je les transforme en &egrave, &eacute... ?

par Ajoloca » 26 janv. 2007, 18:13

Bonjour,

essaie escape()

htmlentities et js

par Invité » 26 janv. 2007, 18:10

Bonjour à tous,
Quel est l'équivalent de htmlentities (php) en javascript?