Zeitraum und Datum automatisch eintragen mit Javascript
Zeitraum und Datum automatisch eintragen mit Javascript
Hallo,
bräuchte bitte wieder einen Tipp von jemanden mit langjähriger Erfahrung.
Denn ich verzweifle bald.
Die Funktion
Man wählt aus einem Dropdownfeld die Kalenderwoche (KW2) aus.
Je nach ausgewähltem Wert, z.B. 01, 02, 03 … usw. wird im Feld "DatKW"
der jeweilige Zeitraum dieser KW angezeigt (z.B. 09.01. bis 15.01.2017)
und gleichzeitig hinter den Tagen Montag (Mo) bis Sonntag (So) das
jeweilige Datum in dieser ausgewählten KW, z.B. Montag = 09.01.2017,
Dienstag= 10.01.2017 … usw.
Nun muss ich das für alle 52 Wochen des Jahres anlegen.
Bei einem Test bis KW 03 hat alles perfekt funktioniert.
Ich muss gleich erwähnen, ich bin kein JS-Profi, sondern haben den
JS-Code aus einer Musterdatei, die hier im Forum vorgestellt wurde,
entnommen und an meine Bedürfnisse angepasst. So weit so gut.
Das Problem
Nun wollte ich das so fortsetzen und habe bereits bis KW 10 alles im gleichen
Schema gemacht. Jetzt wollte ich mal testen, ob es alles weiterhin klappt.
Nun wird mir ein "SyntaxError: missing ) after argument list" angezeigt.
Doch ich weiß nicht, was hier falsch ist?
Denn bei allen vorherigen Kalenderwochen ist es doch genauso angelegt
und habe perfekt funktioniert.
Wo liegt denn hier der Fehler?
Wo fehlt eine Klammer?
bräuchte bitte wieder einen Tipp von jemanden mit langjähriger Erfahrung.
Denn ich verzweifle bald.
Die Funktion
Man wählt aus einem Dropdownfeld die Kalenderwoche (KW2) aus.
Je nach ausgewähltem Wert, z.B. 01, 02, 03 … usw. wird im Feld "DatKW"
der jeweilige Zeitraum dieser KW angezeigt (z.B. 09.01. bis 15.01.2017)
und gleichzeitig hinter den Tagen Montag (Mo) bis Sonntag (So) das
jeweilige Datum in dieser ausgewählten KW, z.B. Montag = 09.01.2017,
Dienstag= 10.01.2017 … usw.
Nun muss ich das für alle 52 Wochen des Jahres anlegen.
Bei einem Test bis KW 03 hat alles perfekt funktioniert.
Ich muss gleich erwähnen, ich bin kein JS-Profi, sondern haben den
JS-Code aus einer Musterdatei, die hier im Forum vorgestellt wurde,
entnommen und an meine Bedürfnisse angepasst. So weit so gut.
Das Problem
Nun wollte ich das so fortsetzen und habe bereits bis KW 10 alles im gleichen
Schema gemacht. Jetzt wollte ich mal testen, ob es alles weiterhin klappt.
Nun wird mir ein "SyntaxError: missing ) after argument list" angezeigt.
Doch ich weiß nicht, was hier falsch ist?
Denn bei allen vorherigen Kalenderwochen ist es doch genauso angelegt
und habe perfekt funktioniert.
Wo liegt denn hier der Fehler?
Wo fehlt eine Klammer?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zeitraum und Datum automatisch eintragen mit Javascript
Hier noch in der Vergrößerung das Feld mit dem JS-Fehler
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zeitraum und Datum automatisch eintragen mit Javascript
Versuchs mal damit:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zeitraum und Datum automatisch eintragen mit Javascript
Hallo,tomtom007 hat geschrieben:Nun muss ich das für alle 52 Wochen des Jahres anlegen.
das ist natürlich viel zu viel arbeit neben der Lösung von Armine kann man dafür das JS Date Objekt verwenden. Mit den setDate()/getDate() Methoden kannst du im wesentlichen alle relevanten Datumsabfragen/berechnungen automatisieren.
http://www.w3schools.com/jsref/jsref_obj_date.asp
LG
Semonia
Zeitraum und Datum automatisch eintragen mit Javascript
Hallo Semonia,
danke für deinen Beitrag. Die KW des Zeit-Objekts (wenn es sie gibt?) hält sich aber bestimmt an amerikanische Standards. Da ist der 1. Jan. immer 1. KW und ausserdem beginnt die Woche mit dem Sonntag.
vg armine
danke für deinen Beitrag. Die KW des Zeit-Objekts (wenn es sie gibt?) hält sich aber bestimmt an amerikanische Standards. Da ist der 1. Jan. immer 1. KW und ausserdem beginnt die Woche mit dem Sonntag.
vg armine
Zeitraum und Datum automatisch eintragen mit Javascript
Danke, Armine.
Sicher eine gute Lösung …
Auch Danke an Semonia (Doch das übersteugt meine Kenntnisse leider)
Das Problem für mich ist jedoch hier, ich bin leider kein Javascript-Profi.
Bei der JS-Formel von armine erkenne ich das „System” dahinter nicht. (Im Gegensatz
zu meinem ersten Ansatz, den ich auch hier im Forum fand. Hier verstehe ich, wie ich
das mit meinen Feldern jederzeit ändern und anpassen muss). Nur gibt es hier –
wie beschrieben – ein JS-Problem. Zudem ist es viel Arbeit für 52 Kalenderwochen!
In meinem Beispiel funktioniert das zunächst bis zur KW 04 … danach gab es das oben
bereits beschriebene JS-Problem. Daher musste ich weitere KWs hier weglassen.
Ich möchte es jedoch auch „verstehen”, damit ich es ggf. für weitere Anwendungen
anpassen und verwenden kann. Sonst bin ich immer wieder auf weitere Unterstützung
angewiesen. Hier muss man sich gut mit JS auskennen, um das verstehen zu können.
Ich möchte das nur für das jeweils aktuelle Jahr 2017 umsetzen.
Gibt es hierfür denn nicht auch noch eine andere Lösung, die für mich als JS-Laie
auch umsetzbar und anpassbar ist?
Danke.
Sicher eine gute Lösung …
Auch Danke an Semonia (Doch das übersteugt meine Kenntnisse leider)
Das Problem für mich ist jedoch hier, ich bin leider kein Javascript-Profi.
Bei der JS-Formel von armine erkenne ich das „System” dahinter nicht. (Im Gegensatz
zu meinem ersten Ansatz, den ich auch hier im Forum fand. Hier verstehe ich, wie ich
das mit meinen Feldern jederzeit ändern und anpassen muss). Nur gibt es hier –
wie beschrieben – ein JS-Problem. Zudem ist es viel Arbeit für 52 Kalenderwochen!
In meinem Beispiel funktioniert das zunächst bis zur KW 04 … danach gab es das oben
bereits beschriebene JS-Problem. Daher musste ich weitere KWs hier weglassen.
Ich möchte es jedoch auch „verstehen”, damit ich es ggf. für weitere Anwendungen
anpassen und verwenden kann. Sonst bin ich immer wieder auf weitere Unterstützung
angewiesen. Hier muss man sich gut mit JS auskennen, um das verstehen zu können.
Ich möchte das nur für das jeweils aktuelle Jahr 2017 umsetzen.
Gibt es hierfür denn nicht auch noch eine andere Lösung, die für mich als JS-Laie
auch umsetzbar und anpassbar ist?
Danke.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zeitraum und Datum automatisch eintragen mit Javascript
Guten Morgenarmine hat geschrieben:Hallo Semonia,
danke für deinen Beitrag. Die KW des Zeit-Objekts (wenn es sie gibt?) hält sich aber bestimmt an amerikanische Standards. Da ist der 1. Jan. immer 1. KW und ausserdem beginnt die Woche mit dem Sonntag.
vg armine
die Formatierung würde sich sicher anpassen lassen, das Problem ist afaik eher die fehlende Umsetzung

In dem Sinne liegst du richtig, an deiner oder einer alternativen Umsetzung geht leider kein Weg dran vorbei.
Deine Umsetzung dürft sich hieran orientieren: http://www.web-toolbox.net/webtoolbox/datum/code-kalenderwocheaktuell.htm
Eine alternative Umsetzung rund um das Date-Objekt könnte so aussehen (ungetestet)
https://weeknumber.net/how-to/javascript.
Leider bleibt es etwas umständlich und auf keinen Fall einfach zu handhaben.
LG
Semonia
Zeitraum und Datum automatisch eintragen mit Javascript
Hallo,tomtom007 hat geschrieben:Ich möchte das nur für das jeweils aktuelle Jahr 2017 umsetzen.
Gibt es hierfür denn nicht auch noch eine andere Lösung, die für mich als JS-Laie
auch umsetzbar und anpassbar ist?
du wagst dich grade an ein Thema heran das leider keine leichte Kost ist.
Allerdings solltest du deine Variante trotzdem verwerfen weil diese nicht nur viel Fleißarbeit bedeutet sondern auch nicht performant ist und wie du siehst auch fehleranfällig.
Alles Schritte die sich ständig wiederholen sollte man in einem Loop iterieren. Das könntest du auch aber nur unter Anwendung des Date-Objekts.
Letztendlich ist aber auch das Wurschtelei - die von Armine vorgestellte Variante reduziert das auf wenige Code-Zeilen. Vermutlich ist es einfacher das Verständnis dafür zu entwickeln. Hilfe dazu bekommst du bestimmt

Schau dir mal die Links an die ich zuvor gepostet habe, ich denke damit wird die Problematik klar.
Kurzfassung ... auschlaggebend ist immer der erste Donnerstag eines Jahres . Ist der Donnerstag der 04.01. beginnt die 1 KW. eines Jahres mit dem Mo. 1.1. .. der einfachste Fall. Man arbeitet zum Jahreswechsel also mit einem Offset von -3 bis +3. Wenn du diesen Offset-Faktor berechnet hast dann kannst du diesen für die weiteren Wochen als Grundlage nehmen.
Oki .... das ist aber wiklich nur doofe Theorie zu Kalenderberechnungen.
LG
Semonia
Zeitraum und Datum automatisch eintragen mit Javascript
Hallo Semonia,
Danke Dir sehr für Deine Mühe und Dein Engagement zu diesem sicher nicht
einfachen Thema. Doch im Grnde hilft mir das als Laie nicht sehr viel weiter.
Ich komme weder mit der einen noch mit der anderen Lösung irgendwie voran.
Die Lösung von armine kann ich leider selbst nicht an meine Bedürfnisse anpassen,
da ich die JS-Formel nicht verstehe, Bis ich mir jedoch das dazu notwendige
Verständnis angeeignet habe, vergeht sicher viel Zeit.
Deine Ansätze verstehe ich leider auch nicht.
Die Links mögen jemandem, der Javascript-Verständnis hat, vielleicht helfen.
Für mich sind das einzelne Bausteine, die ich leider nicht selbst zu einer Lösung
zusammenbauen kann … Das muss man verstehen. Doch mir fehlt leider wie
schon erwähnt (noch) das Javascript-Verständnis. Für Euch ist das vielleicht eine
Selbstverständlichkeit, da Ihr das dauernd macht … auch Begriffe wie „Loop” u.a.
sagen mir nichts in diesem Zusammenhang. Doch das könnte ioch ja noch lösen.
Wenn es mit meinem Ansatz nur die mühsame Arbeit wäre, würde ich das ja noch
akzeptieren, um einen Schritt weiterzukommen. Doch wenn dann JS-Fehler auftauchen,
die ich nicht nachvollziehen und lösen kann, weil bei meinem Ursprungsproblem
eigentlich (für mein Verständnis) keine Klammer hingehört, komme ich nicht weiter.
Was bleiben für Alternativen?
Jemanden von Euch damit beauftragen, der mir das anlegt (?)
Wenn das wirklich so komplex ist, gibt es ja gar keine andere Alternative dazu.
Trotzdem Danke erstmal …
Danke Dir sehr für Deine Mühe und Dein Engagement zu diesem sicher nicht
einfachen Thema. Doch im Grnde hilft mir das als Laie nicht sehr viel weiter.
Ich komme weder mit der einen noch mit der anderen Lösung irgendwie voran.
Die Lösung von armine kann ich leider selbst nicht an meine Bedürfnisse anpassen,
da ich die JS-Formel nicht verstehe, Bis ich mir jedoch das dazu notwendige
Verständnis angeeignet habe, vergeht sicher viel Zeit.
Deine Ansätze verstehe ich leider auch nicht.
Die Links mögen jemandem, der Javascript-Verständnis hat, vielleicht helfen.
Für mich sind das einzelne Bausteine, die ich leider nicht selbst zu einer Lösung
zusammenbauen kann … Das muss man verstehen. Doch mir fehlt leider wie
schon erwähnt (noch) das Javascript-Verständnis. Für Euch ist das vielleicht eine
Selbstverständlichkeit, da Ihr das dauernd macht … auch Begriffe wie „Loop” u.a.
sagen mir nichts in diesem Zusammenhang. Doch das könnte ioch ja noch lösen.
Wenn es mit meinem Ansatz nur die mühsame Arbeit wäre, würde ich das ja noch
akzeptieren, um einen Schritt weiterzukommen. Doch wenn dann JS-Fehler auftauchen,
die ich nicht nachvollziehen und lösen kann, weil bei meinem Ursprungsproblem
eigentlich (für mein Verständnis) keine Klammer hingehört, komme ich nicht weiter.
Was bleiben für Alternativen?
Jemanden von Euch damit beauftragen, der mir das anlegt (?)
Wenn das wirklich so komplex ist, gibt es ja gar keine andere Alternative dazu.
Trotzdem Danke erstmal …
Zeitraum und Datum automatisch eintragen mit Javascript
Hallo tomtom007,
die Felder in meinem PDF umzubenennen führt dazu, dass der Code nicht mehr passt. Den Code löschen und „Lösung von armine“ drüberschreiben ist eine krasse Fehlleistung.
Der von dir eingeschlagene Irrweg erfordert ein paar hundert Zeilen Code und im nächsten Jahr geht dieser Blödsinn von vorne los. Programmieren habe ich mir anders vorgestellt. Die Zeit, die du dir beim Tippen sparst, kannst du besser zum Erwerb erster Programmierkenntnisse verwenden.
So lange du den Code nicht verstehst, kannst du ihn als „Blackbox“ verwenden. Im neuen Beispiel habe ich die Jahreszahl „2017“ fest vorgegeben und die Validierung im Feld „Kalenderwoche“ an die 52 möglichen Kalenderwochen angepasst. Damit ist sichergestellt, dass nur eine gültige Zahl eingegeben werden kann.
In den nächsten Jahren brauchst du nur die Jahreszahl ändern. Für 2020 ist zusätzlich der Gültigkeitsbereich „Kalenderwoche“ auf 53 zu erweitern.
Eine leere „Kalenderwoche“ führt dazu, dass die letzte KW das Vorjahrs ausgegeben wird.
Damit solltest du erst mal weiterkommen.
@Semonia: Natürlich habe ich mich auch durch diverse Beispiele zum Ermitteln der KW gekämpft und dann das Ganze zu meinem Verständnis aufs Nötigste eingedampft.
vg armine
die Felder in meinem PDF umzubenennen führt dazu, dass der Code nicht mehr passt. Den Code löschen und „Lösung von armine“ drüberschreiben ist eine krasse Fehlleistung.
Der von dir eingeschlagene Irrweg erfordert ein paar hundert Zeilen Code und im nächsten Jahr geht dieser Blödsinn von vorne los. Programmieren habe ich mir anders vorgestellt. Die Zeit, die du dir beim Tippen sparst, kannst du besser zum Erwerb erster Programmierkenntnisse verwenden.
So lange du den Code nicht verstehst, kannst du ihn als „Blackbox“ verwenden. Im neuen Beispiel habe ich die Jahreszahl „2017“ fest vorgegeben und die Validierung im Feld „Kalenderwoche“ an die 52 möglichen Kalenderwochen angepasst. Damit ist sichergestellt, dass nur eine gültige Zahl eingegeben werden kann.
In den nächsten Jahren brauchst du nur die Jahreszahl ändern. Für 2020 ist zusätzlich der Gültigkeitsbereich „Kalenderwoche“ auf 53 zu erweitern.
Eine leere „Kalenderwoche“ führt dazu, dass die letzte KW das Vorjahrs ausgegeben wird.
Damit solltest du erst mal weiterkommen.
@Semonia: Natürlich habe ich mich auch durch diverse Beispiele zum Ermitteln der KW gekämpft und dann das Ganze zu meinem Verständnis aufs Nötigste eingedampft.
vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.