Formulare (adaptive Formulare und HTML5-Formulare) verwenden jQuery-, Backbone.js- und Underscore.js-Bibliotheken für das Erscheinungsbild und die Skripterstellung. Die Formulare verwenden auch die Architektur von jQuery UI-Widgets für alle interaktiven Elemente (beispielsweise Felder und Schaltflächen) im Formular. Durch diese Architektur stehen Formularentwicklern eine umfangreiche Auswahl von jQuery-Widgets und -Plug-Ins in Formularen zur Verfügung. Sie können ebenfalls formularspezifische Logik beim Erfassen von Benutzerdaten implementieren, wie etwa „leadDigits/trailDigits“-Einschränkungen, oder Bildklassen implementieren. Formularentwickler können benutzerdefinierte Erscheinungsbilder erstellen und verwenden, um die Datenerfassungserfahrung zu verbessern und sie benutzerfreundlicher zu gestalten.
Dieser Artikel richtet sich an Entwickler mit genügend Wissen zu jQuery und jQuery-Widgets. Er enthält Informationen zum Erscheinungsbild-Framework und ermöglicht es Entwicklern, ein anderes Erscheinungsbild für ein Formularfeld zu erstellen.
Das Erscheinungsbild-Framework stützt sich bei der Erfassung von Benutzerinteraktionen mithilfe eines Formulars auf verschiedenen Optionen, Ereignisse (Auslöser) und Funktionen und reagiert auf die Änderungen des Modells, um den Benutzer zu informieren. Zusätzlich gilt Folgendes:
Im Folgenden die globalen Optionen. Diese Optionen sind für jedes Feld verfügbar.
Eigenschaft | Beschreibung |
---|---|
name | Ein Bezeichner, mit dem dieses Objekt oder Ereignis in Skriptausdrücken angegeben wird. Diese Eigenschaft gibt beispielsweise den Namen der Host-Anwendung an. |
value | Tatsächlicher Wert des Felds. |
displayValue | Der Wert des Felds wird angezeigt. |
screenReaderText | Bildschirmlesehilfen verwenden diesen Wert, um Informationen über das Feld vorzulesen. Das Formular gibt den Wert an. Sie können diesen Wert überschreiben. |
tabIndex | Die Position des Felds in der Tab-Abfolge des Formulars. Überschreiben Sie den tabIndex nur, wenn Sie die Standardreihenfolge der Registerkarten im Formular ändern möchten. |
role | Rolle des Elements, z. B. Überschrift oder Tabelle. |
height | Die Höhe des Widgets. Sie wird in Pixeln angegeben. |
width | Die Breite des Widgets. Sie wird in Pixeln angegeben. |
access | Steuert den Benutzerzugriff auf den Inhalt eines Containers, beispielsweise ein Teilformular. |
paraStyles | Die Para-Eigenschaft eines XFA-Elements des Widgets. |
dir | Die Richtung des Textes. Mögliche Werte sind: ltr (links nach rechts) und rtl (rechts nach links). |
Zusätzlich zu diesen Optionen stellt das Framework einige andere Optionen bereit, die je nach Typ des Felds variieren. Die Details zu den feldspezifischen Optionen sind unten aufgeführt.
Um mit dem Formularframework zu interagieren, löst ein Widget einige Ereignisse aus, die das Formularskript aktivieren. Wenn das Widget diese Ereignisse nicht erzeugt, funktionieren einige der Skripte nicht, die im Formular für dieses Feld eingegeben wurden.
Ereignis | Beschreibung |
---|---|
XFA_ENTER_EVENT | Das Ereignis wird ausgelöst, wenn das Feld im Fokus ist. Dadurch kann das „enter“-Skript für das Feld ausgeführt werden. Die Syntax zum Auslösen des Ereignisses ist (Widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_ENTER_EVENT) |
XFA_EXIT_EVENT | Dieses Ereignis wird ausgelöst, wenn der Benutzer das Feld verlässt. Dadurch kann die Engine den Wert des Feldes festlegen und ihr „exit“-Skript ausführen. Die Syntax zum Auslösen des Ereignisses ist (Widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_EXIT_EVENT) |
XFA_CHANGE_EVENT | Das Ereignis wird ausgelöst, damit die Engine ihr „change“-Skript ausführen kann, das für das Feld eingegeben wurde. Die Syntax zum Auslösen des Ereignisses ist (Widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_CHANGE_EVENT) |
XFA_CLICK_EVENT | Das Ereignis wird ausgelöst, wenn das Feld angeklickt wird. Dadurch kann die Engine das „click“-Skript ausführen, das für das Feld eingegeben wurde. Die Syntax zum Auslösen des Ereignisses ist (Widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_CLICK_EVENT) |
Die Erscheinungsbild-Framework ruft einige Funktionen des Widgets auf, die in den benutzerdefinierten Widgets implementiert sind. Das Widget muss die folgenden Funktionen implementieren:
Funktion | Beschreibung |
---|---|
focus: function() | Fokus wird auf das gelegt. |
click: function() | Setzt den Fokus auf das Feld und ruft XFA_CLICK_EVENT auf. |
markError:function(errorMessage, errorType) Hinweis: Gilt nur für HTML5-Formulare. |
Sendet Fehlermeldung und Fehlertyp an das Widget. Das Widget zeigt den Fehler an. |
clearError: function() Hinweis: Gilt nur für HTML5-Formulare. |
Wird aufgerufen, wenn die Fehler im Feld behoben wurden. Das Widget blendet den Fehler aus. |
Alle benutzerdefinierten Widgets sollten mit den oben genannten Spezifikationen übereinstimmen. Um die Funktionen von verschiedenen Feldern zu nutzen, muss das Widget den Richtlinien des jeweiligen Felds entsprechen.
Option | Beschreibung |
---|---|
multiLine | „True“, wenn das Feld die Eingabe eines Zeilenumbruchzeichens unterstützt, andernfalls „false“. |
maxChars | Maximale Anzahl der Zeichen, die in das Feld eingegeben werden können. |
limitLengthToVisibleArea Hinweis: Gilt nur für HTML5-Formulare. |
Gibt das Verhalten des Textfelds an, wenn die Textbreite die Breite des Widgets überschreitet. |
Option | Beschreibung |
---|---|
Wert |
Array der ausgewählten Werte. |
items |
Array von Objekten, die als Optionen angezeigt werden sollen. Jedes Objekt enthält zwei Eigenschaften: „save“ (zu speichernder Wert), „display“ (anzuzeigender Wert). |
standardmäßig als bearbeitbar Hinweis: Gilt nur für HTML5-Formulare. |
„True“: Die Eingabe von benutzerdefiniertem Text im Widget wird aktiviert. |
displayValue |
Anzuzeigendes Werte-Array. |
multiselect |
„True“, wenn Mehrfachauswahlen zulässig sind, andernfalls „false“. |
Funktion | Beschreibung |
---|---|
addItem: function(itemValues) |
Fügt der Liste ein Element hinzu. |
deleteItem: function(nIndex) nIndex: Index des Elements, das aus der Liste entfernt werden soll |
Löscht eine Option aus der Liste. |
clearItems: function() |
Löscht alle Optionen aus der Liste. |
Optionen | Beschreibung |
---|---|
dataType | String, der, der den Datentyp des Felds darstellt (ganze Zahl/Dezimalzahl). |
leadDigits | Maximale führende Ziffern der Dezimalzahl. |
fracDigits | Maximale Bruchzahlen in der Dezimalzahl. |
zero | Die Zeichenfolgendarstellung von Null im Gebietsschema des Felds. |
decimal | Die Zeichenfolgendarstellung von Dezimalzahlen im Gebietsschema des Felds. |
Optionen | Beschreibung |
---|---|
values | Werte-Array(an/aus/neutral). Werte-Array für die verschiedenen Statusangaben des CheckButton. Wert[0] steht für den Status AN, Wert[1] steht für den Status AUS, |
states | Zahl der zulässigen Zustände. Zwei für adaptive Formulare (Ein, Aus) und drei für HTML5-Formulare (Ein, Aus, Neutral). |
state | Aktueller Status des Elements. Zwei für adaptive Formulare (Ein, Aus) und drei für HTML5-Formulare (Ein, Aus, Neutral). |
Option | Beschreibung |
---|---|
Tage | Lokalisierte Tagesnamen für dieses Feld. |
months | Lokalisierte Monatsnamen für dieses Feld. |
zero | Der lokalisierte Text für die Zahl 0. |
clearText | Der lokalisierte Text für die Schaltfläche „Löschen“. |