Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/01/2008, 21h52   #1
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Par défaut [AJAX] Problème d'affichage des <br/>

Bonjour à tous,

Voici la fonction que j'utilise pour afficher un texte provenant d'un formulaire.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
function chatbox_afficher_msg(requete){
 
        postList = requete.responseXML.getElementsByTagName('message'); 
 
        for (var i = postList.length - 1; i > -1; i--){ 
 
                /*  Create elements */
                var li= document.createElement('li');
                var q= document.createElement('q');
                var cite= document.createElement('cite');
 
                /*  Get infos post */
                var postId = postList[i].getAttribute('id');
                var postPseudo = postList[i].getElementsByTagName('pseudo')[0].firstChild.nodeValue;
                var postMessage = postList[i].getElementsByTagName('contenu')[0].firstChild.nodeValue;
 
                /*  Create texts node */
                var message = document.createTextNode(multiConverter(postMessage));
                var pseudo= document.createTextNode(postPseudo+': ');
 
                /* Creation des puce*/
                $('chatbox_messages').appendChild(li);
 
                /* Set infos post */
                li.setAttribute('id', 'p'+postId);
                li.appendChild(cite);
                cite.appendChild(pseudo);
                cite.setAttribute('title', 'p'+postId);
                li.appendChild(q);
                q.appendChild(message);
        }
}
Et voici le fichier xml que je recois:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?xml version='1.0' encoding='UTF-8' ?>
<chatbox>
<message id='163'>
<pseudo>test</pseudo>
<contenu>test1
 
<br />
 
test2<br />
 
test3
</contenu>
</message>
</chatbox>
Maintenant mon problème. Nous voyons bien que dans ce fichier xml, il y a des retour à la ligne.
Cependant, à l'écran, il n'y a que la première ligne de <contenu> qui s'affiche (C'est à dire 'test1')

Et je ne vois pas comment l'expliquer.

Avez vous une idée?

Merci d'avance
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2008, 13h45   #2
Nouveau Membre du Club
 
Inscription : mars 2003
Messages : 31
Détails du profil
Informations personnelles :
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : mars 2003
Messages : 31
Points : 26
Points : 26
Si tu génères automatiquement en PHP le XML de sortie, essayes de remplacer les '<br />' par des retours chariots "\n" (à mettre entre doubles-guillements).
ALkyD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2008, 14h58   #3
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Je génère le fichier xml en faisant une requête sur ma base mysql et en parcourant chaque ligne du résultat en rajoutant les balises xml. Il n'y a donc pas de traitement des <br/>.
Le contenu provient d'un formulaire texte. Il est donc possible de faire de retour à la ligne. Le contenu est insérer tel quel dans la base (avec les <br/> donc) et la génération du fichier xml récupère ce même contenu et cela donne l'exemple du poste précédent.
Il doit y avoir un traitement à faire sur le contenu pour que les balises <br/> soit considérés comme des balises et non comme un mot.
Cependant, je ne vois pas où faire le traitement.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h07.


 
 
 
 
Partenaires

Hébergement Web