autoNumeric (Zahlenformat)
autoNumeric ist eine Javascript-Bibliothek zur Eingabe von Zahlen in länderspezifischen Formaten. Diese Bibliothek ist bereits in Xima® Formcycle eingebunden, sodass sie in Formularen direkt genutzt werden kann. Auf der offiziellen Webseite findet sich eine ausführliche Erklärung. Im Folgendenen sei ein kurzer Überblick über die Möglichkeiten gegeben.
Beispiel
In dem Eingabefeld mit dem Namen tfGewicht soll ein Gewicht in Kilogram (Einheit kg) eingegeben werden. Dabei sollen höchstens 3 Dezimalstellen erlaubt sein und das Gewicht soll sich zwischen 1 und 100 befinden. Wie in Deutschland üblich, soll das Komma (,) als Dezimalseparator verwendet werden.
Zuerst wird der Datentyp des Felds tfGewicht auf Text gestellt. Die Validierung wird von autoNumeric übernommen.
Im Xima® Formcycle-Designer wird im JavaScript-Bereich nun zuerst das Textfeld mittels jQuery selektiert:
Anschließend wird die Funktion jQuery.fn.autonumeric aufgerufen und die gewünschten Einstellungen übergeben:
aDec: ',', //Komma als Dezimalseparator
aSep: '', // kein Trennzeichen für Tausender
aSign: ' kg', // Einheit kg
pSign: 's', // Einheit nach der Zahl
vMin: 1, // Mindestwert 1
vMax: 100, // Höchstwert 100
mDec: 3, // Maximal 3 Dezimalstellen
aPad: false // Es können auch weniger als 3 Dezimalstellen sein.
});
Im Textfeld tfGewicht kann der Nutzer nun z.B. 3,99 eingeben. Dies wird als 3,99 kg dargestellt. autoNumeric stellt sicher, dass es sich um eine gültige Zahl handelt. Zudem kann der Wert als Zahl wie folgt in Javascript abgerufen werden, falls er für JavaScript-Funktionen gebraucht wird:
const asNumber = tfGewicht.autoNumeric("get");
var asNumber = tfGewicht.autoNumeric("get");
Wenn erforderlich, kann auch ein Wert mittels JavaScript gesetzt werden:
tfGewicht.autoNumeric("set", 49.5);
Beim Absenden des Formulars wird immer der durch autoNumeric formatierte Wert gesendet.
Liste der häufigsten Optionen
autoNumeric hat viele Optionen, hier sind einige der gebräuchlichsten aufgelistet. Alle Optionen sind optional und haben Standardwerte.
- aDec
- Dezimalseparator
- aSep
- Gruppenseparator. Kein Separator, wenn leerer String. Z.B. für die Anzeige von 1.234,55
- dGroup
- Anzahl von Stellen, die in einer Gruppe zusammengefasst werden. Mit Standardwert 3 wird etwa die Zahl 123456 als 123.456 dargestellt
- aSign
- Einheit. Es kann ein beliebiger String verwendet werden, damit sind auch die Einheiten EUR, kg, °C, 粁 (Kilometer) oder ¥ (Japanischer Yen) möglich.
- pSign
- Ob die Einheit vor oder hinter dem Zahlenwert stehen soll. Bei p (steht für Präfix) davor , bei s (steht für Suffix) dahinter
- vMin
- Minimalwert. Wird etwa 1 gesetzt, kann kein Wert gleicher 1 eingegeben werden.
- vMax
- Maximalwert. Wird etwa 100 gesetzt , kann kein Wert größer 100 eingegeben werden.
- mDec
- Höchstanzahl von Dezimalstellen.
Siehe hierzu auch die Hilfe zur Funktion jQuery.fn.autonumeric. Diese Optionen sind auf der Webseite von autoNumeric auch noch einmal detailliert beschrieben. Zudem gibt es eine Webmaske, über die obige Einstellungen komfortabel konfiguriert werden können.