- Funktion ajaxField()
- Feld- und Darstellungsarten
- Klassische Combo-Box (Auswahl mit freier Eingabe)
- Kombiniertes Datums- und Uhrzeitfeld
- Datumsfeld
- Uhrzeitfeld
- Parameter
- field
- hidden
- type
- Mögliche Werte für Type
- Beispiel
- onchange
- style
- class
- Parameter für spezielle Feldtypen
- Typ Text
- mode
- Typ Boolean
- mode
- true
- false
- Beispiele
- Typ Select
- options
- factory
- Typ Combo
- options
- factory
- Feld- und Darstellungsarten
- Klassische Combo-Box (Auswahl mit freier Eingabe)
- Kombiniertes Datums- und Uhrzeitfeld
- Datumsfeld
- Uhrzeitfeld
- Parameter
- field
- hidden
- type
- Mögliche Werte für Type
- Beispiel
- onchange
- style
- class
- Parameter für spezielle Feldtypen
- Typ Text
- mode
- Typ Boolean
- mode
- true
- false
- Beispiele
- Typ Select
- options
- factory
- Typ Combo
- options
- factory




Der Name des abzubildenden Datenfeldes wird mit dem Parameter field übergeben. Dabei muss es sich um den identischen Bezeichner des Feldes in der Datentabelle handeln, wenn nicht der Parameter load="false" definiert wurde.
Die Angabe von field ist zwingend erforderlich
Mit hidden="true" wird das Feld zu einem unsichtbaren Datenfeld. Es wird dann zwar geladen und auch zum Speichern übertragen, ist aber nirgends sichtbar.
Die Angabe von hidden ist optional.
Mit type kann der Darstellungstyp des Feldes festgelegt werden. Wird type nicht angegeben, dann wird das Feld immer als reines Texteingabefeld angelegt.
Für ajaxField ist der Datentyp des Feldes innerhalb der Tabelle prinzipiell unerheblich. Erst mit der Bestimmung von type wird die Darstellung entsprechend angepasst.
Ein Feld vom Type UTIME würde also ohne Angabe von type als blankes Textfeld dargestellt. Erst durch die Angabe type="datetime" wird daraus ein Datums-/Zeit-Picker-Feld.
- text (default)
- textarea
- date
- time
- datetime
- select
- combo
- boolean
Manche Feldtypen können noch unterschiedliche Ausprägungen haben, die dann über den Parameter mode festgelegt werden.
ajaxField('field="Geburtstag" type="date"')
Die Angabe von Type ist optional.
Im Parameter onchange kann eine Javascript-Funktion angegeben werden, die ausgeführt wird, wenn sich der Inhalt des Feldes verändert.
Dadurch lassen sich z.B. leicht Eingabe-Prüfung vornehmen.
Die Angabe von onchange ist optional.
CSS-Inline-Angaben können im Attribute style gemacht werden. Dabei werden etwaige CSS-Regeln aus der/den in class angegebenen CSS-Klassen überschrieben.
Beispiel style="width:500px; border-color:green;"
Die Angabe von style ist optional.
Mit class können eine oder mehrere CSS-Klassen bestimmt werden, die auf das Feld wirken sollen.
Die Angabe von class ist optional.
Mit mode="password" kann ein einfaches Textfeld zu einem Passworteingabefeld umfunktioniert werden.
Achtung: Die Daten werden trotzdem übertragen, lediglich die direkte Anzeige wird verhindert
Wenn mode nicht explizit verändert wird, dann wird das Feld als Checkbox dargestellt. Alternativ kann ein Ja/Nein-Feld auch in Form zweier gekoppelter Radio-Buttons abgebildet werden.
Dazu muss mode="radio" angegeben werden. In diesem Fall werden die weiteren Attribute true und false interessant, mit denen der Anzeigetext bestimmt werden kann.
Mit dem Parameter true kann der anzuzeigende Text für JA/WAHR/GESETZT bestimmt werden, wenn das Boolean-Feld im modus="radio" betrieben wird.
Die Angabe von true ist optional.
Mit dem Parameter false kann der anzuzeigende Text für NEIN/FALSCH bestimmt werden, wenn das Boolean-Feld im modus="radio" betrieben wird.
Die Angabe von false ist optional.
ajaxField('field="UserHatRecht" type="boolean"') //einfache Checkbox
ajaxField('field="UserHatRecht" type="boolean" mode="radio" true="hat Recht" false="hat Recht nicht"') //2 Radio-Buttons mit entsprechender Beschriftung
Der Parameter options enthält die Liste der Optionen, die im Select-Feld angeboten werden. Die Optionen werden dabei fortlaufend, durch Komma getrennt, aneinandergereiht.
Beispiel options="Kunde,Händler,Presse,Berater,Aushilfe"
Um nun auch andere Werte verwenden zu können, als die Anzeigetexte, kann die Optionenliste um Werte erweitert werden.
Beispiel options="[1]Kunde,[2]Händler,[3]Presse,[4]Berater,[5]Aushilfe"
Im Select-Feld erscheinen zwar für den Benutzer die Klartexte wie "Kunde", aber beim Laden und Speichern werden die in den eckigen Klammern definierten Werte verwendet.
Da, aufgrund der Beschränkung der tdbengine auf 255 Zeichen pro String, nicht beliebig viele Werte im Parameter options übergeben werden können, kann man den Parameter factory benutzen, um beliebige Optionslisten zu übergeben.
Im Parameter factory wird dabei eine EASY-Funktion benannt, die beim Generieren des Formularfeldes ausgeführt wird und die Liste der Optionen als Ramtext liefert.
In jeder Zeile dieses Ramtextes steht genau eine Option.
Mit Hilfe einer solchen Factory können leicht Optionslisten mit Daten aus Tabellen generiert werden.
Die Befüllung findet serverseitig bereits während der Ausführung statt.
Beispiel
procedure getSelectItems : string
var f : INTEGER = rewrite("ramtext:liste")
writeln(f,"[1]Kunde")
writeln(f,"[2]Händler")
writeln(f,"[3]Presse")
writeln(f,"[4]Berater")
writeln(f,"[5]Aushilfe")
close(f)
return "ramtext:liste"
endproc
ajaxField('field="Adresstyp" type="select" factory="getSelectItems"')
Der Parameter options enthält die Liste der Optionen, die im Combo-Feld angeboten werden. Die Optionen werden dabei fortlaufend, durch Komma getrennt, aneinandergereiht.
Beispiel options="Kunde,Händler,Presse,Berater,Aushilfe"
Um nun auch andere Werte verwenden zu können, als die Anzeigetexte, kann die Optionenliste um Werte erweitert werden.
Beispiel options="[1]Kunde,[2]Händler,[3]Presse,[4]Berater,[5]Aushilfe"
Im Combo-Feld erscheinen zwar für den Benutzer die Klartexte wie "Kunde" innerhalb der Dropdownliste, aber bei der Auswahl einer Option werden die in den eckigen Klammern definierten Werte verwendet und im Feld dargestellt.
Da, aufgrund der Beschränkung der tdbengine auf 255 Zeichen pro String, nicht beliebig viele Werte im Parameter options übergeben werden können, kann man den Parameter factory benutzen, um beliebige Optionslisten zu übergeben.
Im Parameter factory wird dabei eine EASY-Funktion benannt, die beim Generieren des Formularfeldes ausgeführt wird und die Liste der Optionen als Ramtext liefert.
In jeder Zeile dieses Ramtextes steht genau eine Option.
Mit Hilfe einer solchen Factory können leicht Optionslisten mit Daten aus Tabellen generiert werden.
Die Befüllung findet serverseitig bereits während der Ausführung statt.
Beispiel
procedure getSelectItems : string
var f : INTEGER = rewrite("ramtext:liste")
writeln(f,"[1]Kunde")
writeln(f,"[2]Händler")
writeln(f,"[3]Presse")
writeln(f,"[4]Berater")
writeln(f,"[5]Aushilfe")
close(f)
return "ramtext:liste"
endproc
ajaxField('field="Adresstyp" type="combo" factory="getSelectItems"')
esp:extensions:ajaxform:ajaxfield, Rev. 17, Zuletzt geändert 2006-11-30 11:53, 2557 Aufrufe
