Seite 1 von 1

Urlaubsformular

Verfasst: 28.11.2013, 13:39
von visionmaster
Ich hab hier mal ein Urlaubsformular angehängt, mit dem ich nicht weiter komme.
Mann kann zwar alles Mögliche eingeben, aber man muß die eigentlichen Urlaubstage immer noch von Hand ankreuzen.
Ich hätte es lieber, wenn man das per Maus markieren könnte. Ich hatte es zwar schon geschafft, die Tage bei Mausklick umzufärben, aber bekomme sie nicht wieder zurück falls man sich z.B. verklickt hat. (Abfrage der Zellfarbe funktioniert nicht). Daher hab ich diesen Java-teil wieder rausgeschmissen. Weis einer eine Lösung z.B. über ein Array. ( Davon hab ich bisher keine Ahnung :)) Am besten wie bei einem Lottoformular wo man seine Kreuze machen kann. Wäre natürlich genial, wenn er dann die Urlaubstage auch noch berechnet :)

Urlaubsformular

Verfasst: 01.12.2013, 16:37
von Merklin
Hallo visionmaster,

es tut mir Leid dir das sagen zu müssen, aber dein Formular steckt voller Fehler.
Schau dir mal den Bericht / Protokol an und aktiviere mal den JavaScript Debugger. Der gibt schon ein paar Tipps. Außerdem hast du das Formular als Statisch abgespeichert und als nur druckbar. Fataler Fehler.
Da wirst du wohl noch mal ran müssen.
Mit dem Kalender habe ich so gelöst. Statisches Textfeld z.B. eine 1 rein geschrieben und darüber ohne Rand usw. ein Kontrollkästchen. Jetzt kann man den Tag anklicken und markieren. Und die Anzahl der Klicks kannst du auch addieren und ausgeben.

VG Merklin

Urlaubsformular

Verfasst: 02.12.2013, 22:13
von radzmar
Die ganzen Fehler im Protokoll kommen daher, dass der Prototyp für das Hyphenation-Element fehlt, auf das dutzende Felder im Formular verweisen.
Das hab ich mal gefixt.

Der zweite Fehler betrifft die Tabellenzellen insgesamt, die haben allen einen ungültigen Namen mit Leerzeichen.
Das ist leider ein Bug im Designer 8.
Man kann das aber beheben, wenn man in die XML-Quelle wechselt und per Strg + H den Suchen-Ersetzen-Dialog öffnet und dann alle "Zeile " durch "Zeile" ersetzen lässt.

So, anbei das Formular mit klickbaren Datumsfeldern.
Nur die erste Zeile im Januar!
Die Zellen dort sind leere Teilformulare, die per use-Attribute auf einen Prototypen namens "protoZelle" zeigen.
Dieser ist auch ein Teilformular, das aber ein Textfeld und einen Button mit dem Skript enthält.
So braucht man nicht hunderte Male das Skript im Formular kopieren sondern nur auf den Prototypen verweisen.
Den Prototypen selbst findet man zum Bearbeiten in der Hierarchie unter "referenzierte Objekte"

Urlaubsformular

Verfasst: 03.12.2013, 08:46
von radzmar
So, ich hab das Ganze noch etwas weiter überarbeitet.

Zum einen sind die Felder für die Urlaubstage nun numerische Felder, somit sind eh nur Zahlen und Kommas bei der Eingabe erlaubt.
Die Tabelle für Januar hat nun komplett klickbare Felder.
Die Logik dahinter schaut erstmal, ob in dem Feld ein Tag hinterlegt ist, um Kalendertage von leeren Felder zu unterscheiden.
Dann wird geschaut, ob das Feld nicht evtl. ein Feiertag (hellgrün) ist, weil dann ja kein Urlaub erforderlich ist.
Danach ändert ein Klick auf das jeweilige Feld die Farbe entweder in gelb (halber Urlaubstag), orange (ganzer Urlaubstag) oder weiß (kein urlaub) - je nachdem welche Farbe das Feld vorher schon hatte.
Zu guter Letzt wird noch eine Funktion ausgelöst, die bei jedem Klick die Anzahl der beantragten Urlaubstage erhöht bzw. reduziert.

Urlaubsformular

Verfasst: 06.12.2013, 21:15
von visionmaster
Boahhh.... Da muß ich dir ja glatt die Füße küssen :) Tausend Dank Radzmar... Habe mir den Code zwar noch nicht angesehen, da nicht auf Arbeit, aber sieht genau so aus wie ich es wollte.

Urlaubsformular

Verfasst: 13.12.2013, 13:58
von visionmaster
So, falls Jemand das Ding gebrauchen kann: Hier mein Endergebnis.