Datums-/Uhrzeitfeld

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Sw4rm
Beiträge: 32
Registriert: 30.06.2009, 09:08

Datums-/Uhrzeitfeld

Beitrag von Sw4rm » 27.07.2009, 15:18

Hallo Acronauten!!!

Hier mal wieder ein Problemchen:

Hab ein Datumfeld erzeugt. Wenn der integrierte Kalender genutzt wird, gibt es natürlich keine Problem. Aber wenn eine manuelle Eingabe getätigt wird.
Ich möchte eine Prüfung mit Effekt haben.

Also:
Wenn ein Datum manuell eingegeben wird, soll er das Format prüfen. Am besten mit einer If-Anweisung. Hier schonmal die Frage:

Gibt es einen Befehl, wie ich mit JavaScrip oder FormCalc das Format testen kann?

Also:

Exit-Ereignis If (This.rawValue <> ???PRÜFUNG DES FORMATS???) { This.rawValue = null }
Ich habe in der Hilfe nur den Befehl DateFmt gefunden, aber wenn es der Befehl ist, weiß ich nicht wie ich damit umgehen soll.

Zur Info: Das Feld soll bei einer Formateingabe wie DD.MM.YY und DD.MM.YYYY die Eingabe belassen. Bei allen anderen fällen soll es die Eingabe löschen und den Tastaturfokus im Feld lassen, bzw. den Tastaturfokus wieder ins Feld setzen. Zusätzlich soll halt noch ein Hinweis mit Okay-Schalter erscheinen, aber das bekomme ich schon hin. Eigentlich geht es nur um die Prüfung.

Gruß Martin

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Datums-/Uhrzeitfeld

Beitrag von walde » 27.07.2009, 23:54

Hallo Sw4rm,

 

In der Beispieldatei ist eine Möglichkeit aufgeführt, die gerade in Verbindung mit dem Datum Uhrzeitfeld sehr gut funktioniert. Hierbei sollte ein besonderer Augenmerk auf die verschiedenen Muster im Bereich "Feld und Wert" gelegt werden.

 

gruß,

 

Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Sw4rm
Beiträge: 32
Registriert: 30.06.2009, 09:08

Datums-/Uhrzeitfeld

Beitrag von Sw4rm » 28.07.2009, 15:28

SUPER!

Vielen Danke Walde, genau so ;-)

Gruß Martin

john61
Beiträge: 27
Registriert: 09.06.2009, 13:01

Datums-/Uhrzeitfeld

Beitrag von john61 » 30.07.2009, 16:09

Hallo miteinander,

für die Validierung eines Datumsfeldes ist diese Lösung echt gut.

Ich möchte aber eine reine Uhrzeit validieren, also HH:MM oder HH.MM.

Deshalb habe ich versucht das Beispielskript entsprechend anzupassen.

Es funktioniert aber leider nicht, d.h., keinerlei Eingabe wird als richtig akzeptiert.

Kann es von Euch jemand besser und mir damit helfen?

Gruß

john61

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Datums-/Uhrzeitfeld

Beitrag von walde » 31.07.2009, 00:57

Hallo john61,



Hier ist eine Beispieldatei, die Ihnen helfen sollte. Diese ist etwas anders aufgebaut, als die für das Datum. Hierbei werden die Muster nicht wie gewohnt über den Bereich "Feld" oder "Wert" sonder über das JavaScript festgelegt.
 

Gruß,

 

Walde

Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

john61
Beiträge: 27
Registriert: 09.06.2009, 13:01

Datums-/Uhrzeitfeld

Beitrag von john61 » 03.08.2009, 15:13

Hallo Walde,

danke für den Tipp. Die Validierung der Uhrzeit funktioniert an sich tadellos.

Nur soll bei einem falschen Format, ebenso bei einem leeren Feld, der Fokus im Feld bleiben.

Und das habe ich auch mit diesem Skript nicht hinbekommen.

 

Gruß

john61

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Datums-/Uhrzeitfeld

Beitrag von walde » 03.08.2009, 21:09

Hallo john61,



Ist eigentlich ganz einfach. Siehe Beispieldatei.

 

gruß,

 

Walde

Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

john61
Beiträge: 27
Registriert: 09.06.2009, 13:01

Datums-/Uhrzeitfeld

Beitrag von john61 » 04.08.2009, 09:41

Hallo Walde,

danke, aber die Erweiterung mit "setFocus" hatte ich auch schon getestet. Für sich genommen funktioniert das.

Dann hatte ich die Beispieldatei um weitere Pflichtfelder erweitert, um zu testen, ob das Skript noch funktioniert, wenn mehrere Pflichtfelder unmittelbar aufeinander folgen. In der Beispieldatei funktioniert auch das.

Das eigentliche Problem entsteht, wenn ich das Skript in eine Datei übertrage , die aus einer Wordvorlage *) entstanden ist, also nicht vollständig im LCD designed wurde. Hier folgen in Tabellenform mehrere Pflichtfelder (Datum, Zeitvon, Zeitbis, Ort) unmittelbar hintereinander. 

Wenn ich jetzt eines dieser Felder ohne Eingabe verlassen will, entsteht eine Schleife, die sich nur durch Programmabbruch beenden lässt.

*) Wahrscheinlich liegt der Knackpunkt darin.

Ich habe mir zwischenzeitlich damit geholfen, die Uhrzeitfelder als Dropdown-Listen anzulegen. Ist nicht so richtig elegant, verhindert aber auch falsche Uhrzeitformate.

 

Für eine bessere Lösung wäre ich weiterhin dankbar.

Gruß

john61

 

PS: Ein ähnliches Problem hatte, wenn ich mich recht erinnere, Lifebiker geschildert. Nur von einer abschließenden Lösung habe ich nichts gelesen. Falls es Lifebiker noch gibt, könnte er/ sie sich ja mal melden.

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Datums-/Uhrzeitfeld

Beitrag von walde » 04.08.2009, 15:58

Hallo john61,

 

Das Problem mit der Schleife lässt sich sehr leich umgehen. Hierzu sollte eine Funktion erstellt werden. Siehe Beispieldatei.

Es ist sicherlich sinnvoll den Formularbenutzer selber entscheiden zu lassen, wann er bestimmte Felder aufüllt und den Fokus nicht zu "sperren". Dies verschafft dem Formular eine höhere Flexibilität besonders wenn dieses zwischengespeichert werden sollte. Meiner Meinung nach wäre es viel einfacher das Formular vor dem Versenden oder vor dem Ausdrucken mit einer Sammelmeldung auf fehlende oder unvollständige Eingaben in Feldern hinzuweisen und das Ausdrucken bzw. das Versenden des Formulars solange zu unterbinden, bis diese "Fehler" behoben wurden.

gruß,

 

Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

pdfstudent
Beiträge: 1
Registriert: 18.08.2009, 14:06

Datums-/Uhrzeitfeld

Beitrag von pdfstudent » 18.08.2009, 14:45

hallo

ich bin ein anfänger, das als info.

ich muss felder erstellen indem jemand sein geburtsdatum einträgt dabei sollte die eingabe validiert werden ganz so wie in der datei "Datumsfeld" gelöst.

da das mit dem geburtstag suchen recht langwierig ist möchte ich es ohne den kalender realisieren. so das nur eine eingabe des datums möglich ist aber keine auswahl durch den kalender.

weiss jemand wie das geht?

danke im voraus

Antworten