Switch-Case macht Probleme
Switch-Case macht Probleme
Hallo liebe Gurus,
in letzter zeit hatte ich mich schon mehrfach mit Fragen zu einem Formular an euch gewendet und auch immer promte und tolle Hilfe bekommen. Dadurch bin ich mit meinem Formular ein ganzes Stück weiter gekommen. Aber nun stockt es total. Ich weiß nicht, ob es am Syntax, oder komplett falschem Denkansatz meinerseit liegt.
Zum Problem:
Über drei DDL's möchte ich eine eindeutige Zahl generieren, welche direkt für an- und abwählen von Tabellen/Teilformularen verwendet werden soll. Zum debuggen habe ich einige zusätzliche Textfelder temporär eingebaut, um die korrekte Arbeitsweise des Formulares zu prüfen. Daran also bitte nicht stören.
Das problem tritt im "calculate" Event vom Textfeld test auf. Dort soll über switch-case die passenden Tabellen eingeblendet werden. Und obwohl mir in "test" die richtige Auswahl als Zahl angezeigt wird, funktioniert der case-Zweig nicht. Zuerst soll alles ausgeblendet sein und erst nach ddl-betreiber UND ddl_ausstattung soll dir passende Tabelle eingeblendet werden. Später kommt noch in ähnlicher Form Tabellen für den Backoffice Bereich hinzu. Der wird dann nach ddl_bo_paket sichtbar.
Wo liegt mein Fehler?
In dem Zusammenhang habe ich noch eine zweite Frage:
Das Textfeld "Text10" ist zwar eher zu debuggen, aber bleibt vielleicht auch produktiv drin und das textfeld funktioniert soweit. Dagegen Textfeld "Text9", welches augenscheinlich gleich aufgebaut ist, funktioniert nicht. Dort soll der User eine visuelle Rückmeldung zu der momentan gewählten Anzahl an Kasen bekommen. Da kommt aber leider nix.
Anbei das Formular in der momentanen, unfertigen Form.
Sage schon mal Danke,
Frank
edit:
Im Quellcode befinden sich noch Reste meiner vorherigen Versuche, welche auskommentiert sind weil sie nicht funktionierten. Bitte nicht davon stören lassen.
in letzter zeit hatte ich mich schon mehrfach mit Fragen zu einem Formular an euch gewendet und auch immer promte und tolle Hilfe bekommen. Dadurch bin ich mit meinem Formular ein ganzes Stück weiter gekommen. Aber nun stockt es total. Ich weiß nicht, ob es am Syntax, oder komplett falschem Denkansatz meinerseit liegt.
Zum Problem:
Über drei DDL's möchte ich eine eindeutige Zahl generieren, welche direkt für an- und abwählen von Tabellen/Teilformularen verwendet werden soll. Zum debuggen habe ich einige zusätzliche Textfelder temporär eingebaut, um die korrekte Arbeitsweise des Formulares zu prüfen. Daran also bitte nicht stören.
Das problem tritt im "calculate" Event vom Textfeld test auf. Dort soll über switch-case die passenden Tabellen eingeblendet werden. Und obwohl mir in "test" die richtige Auswahl als Zahl angezeigt wird, funktioniert der case-Zweig nicht. Zuerst soll alles ausgeblendet sein und erst nach ddl-betreiber UND ddl_ausstattung soll dir passende Tabelle eingeblendet werden. Später kommt noch in ähnlicher Form Tabellen für den Backoffice Bereich hinzu. Der wird dann nach ddl_bo_paket sichtbar.
Wo liegt mein Fehler?
In dem Zusammenhang habe ich noch eine zweite Frage:
Das Textfeld "Text10" ist zwar eher zu debuggen, aber bleibt vielleicht auch produktiv drin und das textfeld funktioniert soweit. Dagegen Textfeld "Text9", welches augenscheinlich gleich aufgebaut ist, funktioniert nicht. Dort soll der User eine visuelle Rückmeldung zu der momentan gewählten Anzahl an Kasen bekommen. Da kommt aber leider nix.
Anbei das Formular in der momentanen, unfertigen Form.
Sage schon mal Danke,
Frank
edit:
Im Quellcode befinden sich noch Reste meiner vorherigen Versuche, welche auskommentiert sind weil sie nicht funktionierten. Bitte nicht davon stören lassen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Switch-Case macht Probleme
Mir fällt auf, dass an einigen Stellen die Semikolon-Zeichen fehlen, wie bei:
case "15":
tf_kassen.presence = "visible"
Bernd Alheit
case "15":
tf_kassen.presence = "visible"
Bernd Alheit
Switch-Case macht Probleme
Hallo Bernd,
du hast Recht. Wenn man stundenlang auf den Code starrt, dann fallen die einfachsten Dinge nicht auf. Habe ich soeben gefixt, aber es ändert nichts am Fehlverhalten des Formulares. Es wird immer die gleiche Tabelle angezeigt, obwohl das nicht sein dürfte/sollte.
Gruß,
Frank
du hast Recht. Wenn man stundenlang auf den Code starrt, dann fallen die einfachsten Dinge nicht auf. Habe ich soeben gefixt, aber es ändert nichts am Fehlverhalten des Formulares. Es wird immer die gleiche Tabelle angezeigt, obwohl das nicht sein dürfte/sollte.
Gruß,
Frank
-
- Beiträge: 533
- Registriert: 14.04.2015, 11:10
Switch-Case macht Probleme
In einer anderen Diskussion (http://www.acronaut.de/forum45/6943.html) hast Du vielleicht überlesen wie die Fehlermeldung des "JavaScript-Debugger" zur Lösungsfindung beitragen kann.
BAlheit hat Dir auch hier einen guten "Hinweis" hinterlassen.
Einen weiterern liefert wieder der "Debugger"
wenn Du den Fehler ReferenceError korrigiert hast, dann melden sich die nächten Fehler (...).
Damit Deine Motivation etwas Anreiz findet, sich mit dem JavaScript-Debugger auseinanderzusetzen, sind zwei Probleme im Anhang gelöst.
- Die Anzahl der gesamt Kassen (tf_kassentechnik) und
- Die Position der Kasse (tf_kassentyp)
bis hin zum Ausdruck des Formulars!
Änderung: Sorry war die falsche Datei!
BAlheit hat Dir auch hier einen guten "Hinweis" hinterlassen.
Einen weiterern liefert wieder der "Debugger"
Code: Alles auswählen
ReferenceError: tab_awek_std is not defined
42 XFA:Formular1[0] P1[0]:header[0]:test[0]:calculate
ReferenceError: tab_awek_std is not defined
Damit Deine Motivation etwas Anreiz findet, sich mit dem JavaScript-Debugger auseinanderzusetzen, sind zwei Probleme im Anhang gelöst.
- Die Anzahl der gesamt Kassen (tf_kassentechnik) und
- Die Position der Kasse (tf_kassentyp)
bis hin zum Ausdruck des Formulars!
Änderung: Sorry war die falsche Datei!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Switch-Case macht Probleme
Hallo Andreas,
Der Debugger ist inzwischen fester Bestandteil meines Workflows. Aber selbst Google kann mir in diesem Fall nicht weiter helfen, denn die gefundenen Lösungen bezogen sich nur auf falsch oder fehlende Deklaration von Variablen oder Funktionen. Ich komme da also keinen Schritt weiter. Es wäre also sehr nett, wenn du mir einen Schubs geben könntest, wenn du doch eh die Lösung wahrscheinlich schon weißt.Ich habe doch nur eine verflixte Tabelle und keine Variable und diese Tabelle existiert auch. Auch die Schreibweise ist augenscheinlich ok.
Der Debugger ist inzwischen fester Bestandteil meines Workflows. Aber selbst Google kann mir in diesem Fall nicht weiter helfen, denn die gefundenen Lösungen bezogen sich nur auf falsch oder fehlende Deklaration von Variablen oder Funktionen. Ich komme da also keinen Schritt weiter. Es wäre also sehr nett, wenn du mir einen Schubs geben könntest, wenn du doch eh die Lösung wahrscheinlich schon weißt.Ich habe doch nur eine verflixte Tabelle und keine Variable und diese Tabelle existiert auch. Auch die Schreibweise ist augenscheinlich ok.
-
- Beiträge: 533
- Registriert: 14.04.2015, 11:10
Switch-Case macht Probleme
Vielen Dank für die Rückmeldung ob das Eingebaute für Dich zweckmäßig ist!
Deine (Auf-) Forderung interpretiere ich wie folgt: "Die Fehlermeldung des Debuggers hast Du nicht verstanden".
Der fordert Dich auf, den Pfad zur Tabelle korrekt zu Referenzieren.
Was?! ReferenceError: tab_awek_std is not defined
Wo?! Zeile: 42
Welcher Pfadt/Event?! Formular1[0] P1[0]:header[0]:test[0]:calculate
dort findest Du: tab_awek_std.presence = "hidden";
Damit die Tabelle im Formular gefunden wird, solltest Du den Pfad Referenzieren:
P1.tf_kassen.tf_kassentyp.tab_awek_std.presence = "hidden";
Deine (Auf-) Forderung interpretiere ich wie folgt: "Die Fehlermeldung des Debuggers hast Du nicht verstanden".
Der fordert Dich auf, den Pfad zur Tabelle korrekt zu Referenzieren.
Code: Alles auswählen
ReferenceError: tab_awek_std is not defined
42 XFA:Formular1[0] P1[0]:header[0]:test[0]:calculate
ReferenceError: tab_awek_std is not defined
Wo?! Zeile: 42
Welcher Pfadt/Event?! Formular1[0] P1[0]:header[0]:test[0]:calculate
dort findest Du: tab_awek_std.presence = "hidden";
Damit die Tabelle im Formular gefunden wird, solltest Du den Pfad Referenzieren:
P1.tf_kassen.tf_kassentyp.tab_awek_std.presence = "hidden";
Switch-Case macht Probleme
Guten Morgen Andreas,
Du, sorry, eigentlich wollte ich mich ja schon längst bedankt haben für deine Hilfe und deine Änderungen am Formular. Aber iwi brannte in mir dann doch der Frust wegen dem Debugger. Dank deiner Hilfe habe ich das nun gefixt und muss nun feststellen, dass der Debugger einen neuen Fehler auswirfst. Diesmal aber in einem Codeteil, der nicht von mir stammt, sondern vom LCD vorgegeben wird.
Deine Abänderungen sind zum Teil echt toll und bringen mich einen Schritt weiter. Ein paar Änderungen von dir muss ich leider rückgängig machen, da ich zB auch mal NULL Kassen haben muss, aber das nicht Standard ist. Vorgabe ist seitens meiner Kollegen, welche dann damit arbeiten wollen; es soll als Start eine Kasse gezeigt werden und die Anzahl soll sich bis 4 erhöhen lassen. Das hast du auch sehr toll für mich programmiert. Es soll aber auch die Möglichkeit geben, in ganz seltenen Fällen die Anzahl der Kassen auf Null zu stellen, weil zB keine gebraucht wird oder vorhanden ist.
Leider zeigt das Textfeld "test" nur das Wort hidden an und nicht mehr, wie es soll, die Summe der DDL-Werte.
Nun aber zu dem Debugger Fehler in der Variable "ColorFieldsValidation". Hier bekomme ich die Meldung:
Diesen Fehler habe ich Danke Google fixen können. Hatte wohl was mit der Vorlage zu tun, weil die mal statisch war. Siehe auch
http://www.acronaut.de/forum34/4271.html
Anbei die gefixte Datei in der jetzigen Fassung und noch mal vielen Dank an Andreas.
VG FranK
Du, sorry, eigentlich wollte ich mich ja schon längst bedankt haben für deine Hilfe und deine Änderungen am Formular. Aber iwi brannte in mir dann doch der Frust wegen dem Debugger. Dank deiner Hilfe habe ich das nun gefixt und muss nun feststellen, dass der Debugger einen neuen Fehler auswirfst. Diesmal aber in einem Codeteil, der nicht von mir stammt, sondern vom LCD vorgegeben wird.
Deine Abänderungen sind zum Teil echt toll und bringen mich einen Schritt weiter. Ein paar Änderungen von dir muss ich leider rückgängig machen, da ich zB auch mal NULL Kassen haben muss, aber das nicht Standard ist. Vorgabe ist seitens meiner Kollegen, welche dann damit arbeiten wollen; es soll als Start eine Kasse gezeigt werden und die Anzahl soll sich bis 4 erhöhen lassen. Das hast du auch sehr toll für mich programmiert. Es soll aber auch die Möglichkeit geben, in ganz seltenen Fällen die Anzahl der Kassen auf Null zu stellen, weil zB keine gebraucht wird oder vorhanden ist.
Leider zeigt das Textfeld "test" nur das Wort hidden an und nicht mehr, wie es soll, die Summe der DDL-Werte.
Nun aber zu dem Debugger Fehler in der Variable "ColorFieldsValidation". Hier bekomme ich die Meldung:
Code: Alles auswählen
TypeError: oOriginalNode is null
49:Doc:Init
http://www.acronaut.de/forum34/4271.html
Anbei die gefixte Datei in der jetzigen Fassung und noch mal vielen Dank an Andreas.
VG FranK
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 533
- Registriert: 14.04.2015, 11:10
Switch-Case macht Probleme
Hier: http://www.acronaut.de/forum45/6943.html
in der Datei Anlage: Staging_alpha_.pdf vom 8 Mar 2017 21:56
LCD Variable: ColorFieldsValidation
war das in Zeile 39 schon erledigt.
in der Datei Anlage: Staging_alpha_.pdf vom 8 Mar 2017 21:56
LCD Variable: ColorFieldsValidation
Code: Alles auswählen
TypeError: oOriginalNode is null
49:Doc:Init
Switch-Case macht Probleme
UPS,
nicht bemerkt, da ich fast das ganze Formular noch mal umgestellt und teils neu gemacht habe.
Leider habe ich auch nur in kleineren Arbeitspausen Zeit, mich um mein "Projekt" zu kümmern.
Ist also mehr mein Hobby, um mir und meinen Kollegen die Arbeit zu erleichtern und viele Vorgänge zu beschleunigen.
VG
Frank
nicht bemerkt, da ich fast das ganze Formular noch mal umgestellt und teils neu gemacht habe.
Leider habe ich auch nur in kleineren Arbeitspausen Zeit, mich um mein "Projekt" zu kümmern.

Ist also mehr mein Hobby, um mir und meinen Kollegen die Arbeit zu erleichtern und viele Vorgänge zu beschleunigen.
VG
Frank
Switch-Case macht Probleme
Hallo Leute,
Dank eurer Hilfe bin ich nun meinem Ziel deutlich näher gekommen und habe den Code weiter vervollständigt. Aber eh ich den Rest komplett einbaue, muss ich noch zwei Probleme lösen. Und dafür brauche ich noch einmal eure Hilfe.
Es geht um folgenden Code in:
Formular1.P1.header.test::calculate - (JavaScript, client)
Wenn ich die Anzahl der Kassen erhöhe, werden mir alle 4 Möglichkeiten eingeblendet und nicht nur der gewählte Typ.Das hat wohl etwas mit dem Index und Ausblenden zu tun hat. Ich habe versucht, dass mit einer Schleife abzufangen. Das klappt aber mit meinem Syntax nicht. Zum Testen erstmal nur:
AWEK->Standard nutzen, da ich die Schleife erstmal nur dort eingebaut habe.
Das zweite problem wird mit dem ersten zusammen hängen, denn nach Schleifeneinbau sehe ich bei nur einer Kasse nur die Kopfzeile und nicht die ganze Tabelle.
Anbei das Formular in der aktuellen Version. Und schon mal vielen Dank für eure Ideen.
Gruß,
Frank
Dank eurer Hilfe bin ich nun meinem Ziel deutlich näher gekommen und habe den Code weiter vervollständigt. Aber eh ich den Rest komplett einbaue, muss ich noch zwei Probleme lösen. Und dafür brauche ich noch einmal eure Hilfe.
Es geht um folgenden Code in:
Formular1.P1.header.test::calculate - (JavaScript, client)
Wenn ich die Anzahl der Kassen erhöhe, werden mir alle 4 Möglichkeiten eingeblendet und nicht nur der gewählte Typ.Das hat wohl etwas mit dem Index und Ausblenden zu tun hat. Ich habe versucht, dass mit einer Schleife abzufangen. Das klappt aber mit meinem Syntax nicht. Zum Testen erstmal nur:
AWEK->Standard nutzen, da ich die Schleife erstmal nur dort eingebaut habe.
Das zweite problem wird mit dem ersten zusammen hängen, denn nach Schleifeneinbau sehe ich bei nur einer Kasse nur die Kopfzeile und nicht die ganze Tabelle.
Anbei das Formular in der aktuellen Version. Und schon mal vielen Dank für eure Ideen.
Gruß,
Frank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.