Grüße!
Ich habe eine Maske, mit einfachen Textfelder, erzeuge ich dort per Return Taste einen Umbruch / neue Zeile im Text, wird dies leider nicht in einem berechneten Feld unter Xpages per <br/> umgesetzt / ausgegeben. Alles wird einfach hintereinander weg ausgegeben, was leider sehr unschön ist.
Mit folgender idee kam ich leider nicht weit:
text.replace(@Char(13),'<br/>');
Gibt es ein erfolgreicheren Weg? :)
Hast Du in deinem berechneten Feld schon den Content type auf HTML gesetzt, wenn Du den Zeilenumbruch mit <br>-Tags ersetzt hast?
EDIT:
<xp:text escape="false" id="computedField1">
<xp:this.value><![CDATA[#{javascript:
var txt = "Ich\nbin\nein\nText.";
txt = txt.replace(@Char(10),'<br/>');
txt = txt.replace(@Char(13),'<br/>');
txt
}]]>
</xp:this.value>
</xp:text>
<xp:text escape="false" id="computedField1">
<xp:this.value><![CDATA[#{javascript:var doc = view1.getLastDocument();
var text = doc.getItemValueString('test');
text.replace(@Char(13),'<br/>')
text.replace(@Char(10),'<br/>')
return text;}]]></xp:this.value>
</xp:text>
Ja habe ich....
Und im Feld "test" sind die Werte auch mit Zeilenumbruch gespeichert?
Du hast also im Browser dann die Ausgabe
Ich<br/>bin<br/>ein</br>Text.
? Oder fehlen die Zeilenumbrüche?
Ah, Problem gelöst mit:
<xp:text escape="false" id="computedField1">
<xp:this.value><![CDATA[#{javascript:var doc = view1.getLastDocument();
var text = doc.getItemValueString('test');
var text = @ReplaceSubstring(text,@Char(10), '<br/>');
return text;}]]></xp:this.value>
</xp:text>
;D