Autor Thema: Textfeld auslesen, Return erzeugt <br/>  (Gelesen 3746 mal)

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Textfeld auslesen, Return erzeugt <br/>
« am: 13.09.12 - 12:59:00 »
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:

Code
text.replace(@Char(13),'<br/>');

Gibt es ein erfolgreicheren Weg? :)


Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Textfeld auslesen, Return erzeugt <br/>
« Antwort #1 am: 13.09.12 - 13:12:36 »
Hast Du in deinem berechneten Feld schon den Content type auf HTML gesetzt, wenn Du den Zeilenumbruch mit <br>-Tags ersetzt hast?

EDIT:
Code
	<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>
« Letzte Änderung: 13.09.12 - 13:15:15 von Sven Hasselbach »

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Re: Textfeld auslesen, Return erzeugt <br/>
« Antwort #2 am: 13.09.12 - 13:34:04 »
Code
<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....

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Textfeld auslesen, Return erzeugt <br/>
« Antwort #3 am: 13.09.12 - 13:38:57 »
Und im Feld "test" sind die Werte auch mit Zeilenumbruch gespeichert?

Du hast also im Browser dann die Ausgabe

Code
Ich<br/>bin<br/>ein</br>Text.

? Oder fehlen die Zeilenumbrüche?

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Re: Textfeld auslesen, Return erzeugt <br/>
« Antwort #4 am: 13.09.12 - 13:43:55 »
Also im Feld" test" ist das ganze ohne <br>, also so:

Zitat
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.

Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo.

Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a,

In der Ausgabe wird das ganze hintereinander weg dagestellt, also so:

Zitat
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, 

Im Quelletxt des Browsers / Clients ist das ganze wie im feld formatiert,  aber halt ohne <br>

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Re: Textfeld auslesen, Return erzeugt <br/>
« Antwort #5 am: 13.09.12 - 14:02:00 »
Ah, Problem gelöst mit:

Code
<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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz