Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-11-2006, 15:26   #1 (permalink)
Neuer User
 
Benutzerbild von chricken
 
Registriert seit: Dec 2005
Ort: Kiel
Beiträge: 23
HTML-Formatierung unverständlich

Hallo erstmal,

ich habe da ein Problem mit der Formatierung von HTML-Textfeldern.
Ich habe ein paar Movies verschachtelt (geht leider nicht anders) und erstelle nachher ein Textfeld per
Code:
_root.rechnung.edit[id].textfeld.tf.removeTextField();
_root.rechnung.edit[id].textfeld.createTextField("tf",1000,Number(_root.rechnung.inhalt_abstand_x),Number(_root.rechnung.inhalt_abstand_y),rg_rahmen.xsize[id]-(Number(_root.rechnung.inhalt_abstand_x)*2),rg_rahmen.ysize[id]-(Number(_root.rechnung.inhalt_abstand_y)*2));

_root.rechnung.edit[id].textfeld.tf.html=true;
_root.rechnung.edit[id].textfeld.tf.border=false;
_root.rechnung.edit[id].textfeld.tf.setNewTextFormat(rg_rahmen.inhaltformat[id]);
Soweit, so gut.
Dieses Feld soll verwendet werden, um Userdaten in Textform auszugeben. Diese sollen HTML-formatiert sein, um in der Laufzeit einfach formatierungen ändern zu können.
Desweiteren habe ich eine ganze Batterie von Comboboxen, anhand derer die einzelnen Komponenten (Vorname, Nachname, Strasse, PLZ, etc) für die Darstellung aktiviert werden können.
Und es gibtg Comboboxen, anhand denen die Formatierung dieser Textbausteine definiert werden kann.

Nun will ich in dem Textfeld den HTML-Text generieren:
Code:
if (_root.rechnung.cb_feldinhalt.value=="inhalt_anschrift_eigen"){
		_root.rechnung.edit[id].textfeld.tf.htmlText="";
		//Anrede
		if (_root.rechnung.inhalt_anschrift_eigen.cb_anrede.selected==true){
			if (_root.rechnung.inhalt_anschrift_eigen.cb_anrede_b.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="<b>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_anrede_i.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="<i>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_anrede_u.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="<u>";}
			_root.rechnung.edit[id].textfeld.tf.htmlText+="Anrede <br>";
			if (_root.rechnung.inhalt_anschrift_eigen.cb_anrede_u.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="</u>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_anrede_i.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="</i>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_anrede_b.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="</b>";}
		}
		//Vorname
		if (_root.rechnung.inhalt_anschrift_eigen.cb_vname.selected==true){
			if (_root.rechnung.inhalt_anschrift_eigen.cb_vname_b.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="<b>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_vname_i.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="<i>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_vname_u.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="<u>";}
			_root.rechnung.edit[id].textfeld.tf.htmlText+="Vorname";
			if (_root.rechnung.inhalt_anschrift_eigen.cb_vname_u.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="</u>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_vname_i.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="</i>";}
			if (_root.rechnung.inhalt_anschrift_eigen.cb_vname_b.selected==true){_root.rechnung.edit[id].textfeld.tf.htmlText+="</b>";}
		}
        }
Zwecks Übersichtlichkeit zeige hier nur mal zwei Elemente.

Angenommen, "Anrede" und "Vorname" sind zur Darstellung ausgewählt, und "Anrede soll fett sein. Das heißt für die Checkboxes:
_root.rechnung.inhalt_anschrift_eigen.cb_anrede.se lected ist true
_root.rechnung.inhalt_anschrift_eigen.cb_anrede_b. selected ist true
_root.rechnung.inhalt_anschrift_eigen.cb_vname.sel ected ist auch true

Anhand des primitiven Codes würde ich einen HTML-Code erwarten wie
HTML-Code:
<B>Anrede <br></B> Vorname
Damit wäre ich glücklich.
Statt dessen bekomme ich (per trace(_root.rechnung.edit[id].textfeld.tf.htmlText) folgenden Code:

HTML-Code:
<P ALIGN="LEFT">
<FONT FACE="arial" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">
<B>
Anrede Vorname
</B>
</FONT>
</P>
Und damit bin ich überhaupt nicht glücklich.
Weiß jemand, was da passiert?
Ich weiß nämlich einfach nicht, wie da der Code entsteht und warum der gesamte Text mit dem HTML-Tag umklammert wird. Außerdem geht der Zeilenumbruch verloren.
Bitte Helft
chricken ist offline   Mit Zitat antworten
Alt 27-11-2006, 22:42   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
"..Und damit bin ich überhaupt nicht glücklich.."

ooooooh. ist aber nunmal so.

such mal auf deiner festplatte nach: textfieldsA.fla
für den htmlText zu gestalten gibt es die classe: StyleSheet (mal in der flash-hilfe ansehen)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele