J'ai un formulaire proposant une zone de texte à des utilisateurs.
Les données sont enregistrées en base de données, et il est ensuite possible de consulter le formulaire en vue lecture.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TEXTAREA CLASS="valueEditable" ID="_1_1_88_1" NAME="_1_1_88_1" TITLE="Assemblage / Assembly" WRAP="soft" ROWS="3" COLS="100" ONCHANGE="markDirty();">Le contenu écrit par l'utilisateur, peut contenir des retours à la ligne</TEXTAREA>
J'aimerai afficher l'intégralité du contenu écrit par l'utilisateur, en incluant les retours à la ligne.

J'ai la possibilité d'utiliser un tag pour afficher le contenu, mais celui ci n'affiche pas les retours à la ligne, ce qui n'est pas souhaité.

A l'heure actuelle, j'ai trouvé le contournement suivant qui, à l'affichage, me va très bien : écriture mais non-affichage du textarea éditable puis javascript pour afficher le contenu.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<TEXTAREA STYLE="display:;" CLASS="valueEditable" ID="_1_1_88_1" NAME="_1_1_88_1" TITLE="Assemblage / Assembly" WRAP="soft" ROWS="3" COLS="100" ONCHANGE="markDirty();">[monTag pour affiché le contenu écrit par l'utilisateur]</TEXTAREA>
<br>
<SCRIPT LANGUAGE="JavaScript">
if (document.myForm._1_1_88_1.value != "")    document.write((document.myForm._1_1_88_1.value).replace(/\n/g, "<br>&nbsp;&nbsp;"));
</SCRIPT>
Mais pour d'autres raisons (export jquery du contenu html), je ne souhaite pas faire appel au textarea d'origine, même masqué.

J'ai essayé avec un <DIV> plutôt qu'un textarea, mais je n'ai pas le résultat voulu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<DIV NAME="_1_1_88_1" TITLE="Assemblage / Assembly">[monTag]</DIV>
M'affiche effectivement l'intégralité du contenu, mais sans aucun retour à la ligne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<DIV NAME="_1_1_88_1" TITLE="Assemblage / Assembly">
<SCRIPT LANGUAGE="JavaScript">
document.write(("[monTag]").replace(/\n/g, "<br>&nbsp;&nbsp;"));
</SCRIPT>
<br>
<DIV NAME="_1_1_88_1" TITLE="Assemblage / Assembly">
<SCRIPT LANGUAGE="JavaScript">
var monassemblage = "[monTag]";
document.write((monassemblage).replace(/\n/g, "<br>&nbsp;&nbsp;"));
</SCRIPT>
</DIV>
Rien ne s'affiche, j'ai un warning en bas de page "Constante chaine non terminée". Le code source indique effectivement une chaine avec des retours à ligne.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<br>
<DIV NAME="_1_1_88_1" TITLE="Assemblage / Assembly">
<SCRIPT LANGUAGE="JavaScript"> 
document.write(("ASSEMBLAGE
Deuxième partie zsie iurfhq idgeoirg qegiuh qeiurhg qekrghqepiurgh qeikgh qihg qomeirujg qpoigqoier gqqeiourh eiur gh
Troisième partie
4
smqdifj
msqliidjfoiqhf
oqspif osjf qoiighhsdfg h
qmiosf 
soidfuqiehg qerugheiurgh qerughipquhgq eoruig qêrçgu
qerôg uqeroiug qeorig ^qoerihg
 qeroig qdh vkqd").replace(/\n/g, "<br>&nbsp;&nbsp;"));
</SCRIPT>
<br>
<DIV NAME="_1_1_88_1" TITLE="Assemblage / Assembly">
<SCRIPT LANGUAGE="JavaScript"> 
var monassemblage = "ASSEMBLAGE
Deuxième partie zsie iurfhq idgeoirg qegiuh qeiurhg qekrghqepiurgh qeikgh qihg qomeirujg qpoigqoier gqqeiourh eiur gh
Troisième partie
4
smqdifj
msqliidjfoiqhf
oqspif osjf qoiighhsdfg h
qmiosf 
soidfuqiehg qerugheiurgh qerughipquhgq eoruig qêrçgu
qerôg uqeroiug qeorig ^qoerihg
 qeroig qdh vkqd";
document.write((monassemblage).replace(/\n/g, "<br>&nbsp;&nbsp;"));
</SCRIPT>
</DIV>
Quelq'un aurait-il une idée pour arriver à afficher le contenu de mon champ textarea en intégralité, en gérant correctement les retours à ligne, et sans afficher le textarea initial ? (et devant fonctionner sous IE 8 )
Merci d'avance pour votre aide