WaBis

walter.bislins.ch

xTextControl: Properties

Das xTextControl Objekt synchronisiert sich nicht automatisch mit dem zugehörigen Eingabefeld. Das bedeutet, dass die Properties nur gelesen werden dürfen! Ein direktes Ändern der Properties hat keinerlei Auswirkung auf das zugehörige Eingabefeld.

Um die Eigenschaften und den Text des Eingabefeldes zu ändern, müssen daher die entsprechenden Funktionen verwendet werden!

Beim Erzeugen des xTextControl Objektes wird das Objekt mit dem entsprechenden Eingabefeld synchronisiert. Die Properties enthalten also aktuelle Werte. Das xTextControl Objekt kann jederzeit mit der Funktion GetDataFromControl mit dem Eingabefeld synchronisiert werden.

Bei den meisten Funktionen des xTextControl kann man angeben, ob die Änderungen jetzt an das entsprechende Eingabefeld übertragen werden sollen oder nicht.

Normierter Text

Verschiedene Browser machen einen Unterschied in der internen Codierung von Zeilenenden. Der IE zum Beispiel verwendet die Zeichenkombination '\r\n', Mozilla hingegen nur '\n'. Bei normiertem Text wird das Zeilenende immer mit dem einzigen Zeichen '\n' codiert.

Das xTextControl arbeitet mit normiertem Text. Das bedeutet, der Text ist auf allen Browsern gleich. Somit entsprechen alle Positionen des Eingabefeldes (Cursor, Selektion) 1:1 den entsprechenden Positionen im normierten Text des xTextControl - auf allen Browsern!

xTextControl.TextControl

tf = xTextControl.TextControl;

Das Property TextControl (readonly) ermöglicht den direkten Zugriff auf das zugehörige Eingabefeld. Es handelt sich um jenes Eingabefeld, das beim Erzeugen des xTextControl als Parameter übergeben wurde.

TextControl kann ein einzeiliges Eingabefeld (input type=text) oder eine textarea sein.

Beispiel

var tc = new xTextControl( document.getElementById('myTextField') );
var textField = tc.TextControl;

// -> textField == getElementById('myTextField')

xTextControl.SelStart

p = xTextControl.SelStart

Das Property SelStart (readonly) gibt die Startposition der Selektion zurück. Wenn SelStart und SelEnd gleich sind, dann ist nichts selektiert und SelStart entspricht der Cursor Position im Eingabefeld.

SelStart ist immer im Bereich von 0 bis und mit Text.length und immer kleiner oder gleich SelEnd.

Hinweis

Verwende die Funktion SetSelectionRange um die Start- und Endposition der Selektion zu ändern.

Beispiel

var tc = new xTextControl( document.getElementById('myTextField') );
var cursor = tc.SelStart;

Siehe auch

xTextControl.SelEnd

p = xTextControl.SelEnd

Das Property SelEnd (readonly) gibt die Endposition der Selektion zurück. Wenn SelStart und SelEnd gleich sind, dann ist nichts selektiert und SelEnd entspricht der Cursor Position im Eingabefeld.

SelEnd ist immer im Bereich von 0 bis und mit Text.length und immer grösser oder gleich SelStart.

Hinweis

Verwende die Funktion SetSelectionRange um die Start- und Endposition der Selektion zu ändern.

Beispiel

var tc = new xTextControl( document.getElementById('myTextField') );
var selCount = tc.SelEnd - tc.SelStart;

Siehe auch

xTextControl.SelText

txt = xTextControl.SelText

Das Property SelText (readonly) gibt den selektierten Text zurück. Wenn nichts selektiert ist, wird ein leerer String zurück gegeben.

Hinweis

Verwende die Funktion ChangeSelectionText um den selektierten Text zu ersetzen oder Text an der aktuellen Cursorposition einzufügen.

Beispiel

var tc = new xTextControl( document.getElementById('myTextField') );
var text = tc.SelText;

Siehe auch

xTextControl.Text

txt = xTextControl.Text

Das Property Text (readonly) gibt den ganzen Text des Eingabefeldes zurück. Der Text ist normiert.

Hinweise

Verwende nur dieses Property (nicht das Property value des zugehörigen Eingabefeldes) um den Text des Eingabefeldes abzufragen.

Verwende nur die Funktion SetText um den Text des Eingabefeldes zu ersetzen!

Falls der Anwender zwischen den Funktionsaufrufen die Möglichkeit hat, den Text des Eingabefeldes zu verändern, muss das xTextControl eventuell mit der Funktion GetDataFromControl auf den neuesten Stand gebracht werden.

Beispiel

var tc = new xTextControl( document.getElementById('myTextField') );
var text = tc.Text;

Siehe auch

xTextControl.Enabled

if (xTextControl.Enabled) { ... }

Das Property Enabled (readonly) ist true wenn der aktuelle Browser das Steuern von Eingabefeldern per xTextControl unterstützt.

In der Regel kann man dieses Property einfach ignorieren. Sollte der Browser das xTextControl nicht unterstützen, wirken sich die Funktionen nicht oder nicht korrekt aus, aber es passiert weiter nichts. Verwende dieses Property, falls du den Anwender darauf hinweisen willst, dass die Editierfunktionen eines Eingabefeldes nicht funktionieren.

Beispiel

var tc = new xTextControl( document.getElementById('myTextField') );
if (!tc.Enabled) {
  alert( 'Edit-Funktionen funktionieren auf ihrem Browser nicht!' );
}

Weitere Infos zur Seite
Erzeugt Donnerstag, 4. Dezember 2008
von wabis
Zum Seitenanfang
Geändert Mittwoch, 19. November 2014
von wabis