Saut de ligne array PHP

Résolu
parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   -  
Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'aimerais afficher les valeurs d'une liste JSON décodée en javascript. Et pour cela, j'aimerais afficher des sauts de ligne.
Alors j'ai une requête AJAX qui va aller lire le contenu d'une page. Dans cette page, j'effectue une requête SQL, je mets les résultats dans une liste, et j'encode le tout en JSON.

Ensuite, sur ma première page, je veux afficher les résultats dans un div avec javascript. Alors voilà ce que j'écris :


function ResultAjax()
{

$.ajax({
url: 'functions.php',
type: 'GET',
dataType: 'html',
success: function(code_html, statut)
{

if(!code_html)
{
d.textContent = "pas de nouveaux messages";
}
else
{
list = JSON.parse(code_html);
AfficheMsg();

} }


}

)
}


Et la fonction AfficheMsg :


function AfficheMsg()
{
var d = document.getElementById('commentaires');
for(i=0;i<list.length;i++)
{
d.textContent += ""+list[i]+"\n";
}

}

Où 'commentaires' est l'id d'un div.

Donc de un, le \n ne marche pas, et de deux, j'aimerais qu'il y ai des sauts de ligne dans les valeurs de la liste JSON.
Les valeurs dans cette liste sont du style :
"Bobby La Munition : Quel code foireux ! "

Et moi je voudrais :
"Bobby La Munition :

Quel code foireux ! "

Alors je ne sais pas s'il est possible de mettre des sauts de ligne dans l'array PHP avant encodage...
J'espère avoir été assez clair, si vous avez des idées, je suis preneur !
Merci d'avance !
A voir également:

4 réponses

Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
Tu as essayé avec un br ?
d.textContent += list[i]+"<br/>";
0
parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   6
 
Oui j'ai bien essayé, mais ça m'affiche <br/> en toutes lettres !
Alors ça fonctionne si j'affiche le texte dans un textarea, mais je ne veux pas que l'on puisse écrire, je veux juste l'afficher donc il me faudrait une balise div ou p...
0
parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   6
 
Sayait je crois avoir trouvé la solution ! Comme ça fonctionne avec textarea, il suffit de préciser que ce textearea est en lecture seulement ( propriété display je crois ou textEditable).
0
Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
J'ai trouvé c'est parce qu'il ne faut pas que d.textContent soit EGAL à list[i]+"<br/>"
Il faut lui ajouter en tant qu'html avec innerHTML ou append()
0