Saut de ligne array PHP

Résolu/Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 14 avril 2015 à 12:07
Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 - 17 avril 2015 à 14:28
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 !

4 réponses

Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
14 avril 2015 à 15:05
Tu as essayé avec un br ?
d.textContent += list[i]+"<br/>";
0
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 6
17 avril 2015 à 13:00
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 mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 6
17 avril 2015 à 14:02
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 mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
17 avril 2015 à 14:28
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