Komischer Fehler

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Antworten
Benutzeravatar
Rex
Beiträge: 31
Registriert: 11.11.2009, 18:55

Komischer Fehler

Beitrag von Rex » 30.07.2010, 05:43

Hallo zusammen,

in meinem Formular ist schon öfters ein mir unbekannter Fehler aufgetreten. Obwohl ich mir eigentlich sicher bin, dass die Programmierung stimmt, funktioniert mein Formular nicht immer wie gewünscht.

Beispiel:

1)Wenn man im unteren Dropdown den Wert a auswählt, so funktioniert es wie gewünscht.

2)Gibt man danach im oberen Dropdown z.B. x ein, so funktioniert es auch noch richtig.

3)Stellt man nun im unteren Dropdown wieder g ein, so stimmt auch noch alles

4)Jetzt zum Problem: Stellt man nun im oberen wieder was anderes ein und danach wieder was im unteren, dann funktioniert das untere nicht mehr wie vorher.

An was kann denn das liegen? Kann sich bitte jemand mal mein Formular anschauen?

Solche unerklärlichen Fehler hatte ich schon öfters! Vielleicht finde ich den Fehler auch einfach nicht, weil ich schon zu lange danach gesucht habe.

Vielen Dank

Gruß

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

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Komischer Fehler

Beitrag von nele_sonntag » 30.07.2010, 11:15

Hallo Rex,
ich würde ein, zwei Sachen ändern.
  1. Die Skripte würde ich zunächst ins CHANGE-Ereignis der jeweiligen Drop-Downs legen.
  2. Als Abfrage würde ich nicht mit IF arbeiten, sondern mit SWITCH.
  3. Ich würde den Wert des Feldes nicht  mit (Page.Beschichtung.Beschichtungsart.rawValue) auslesen, sondern mit xfa.event.newText.
Habe dies früher auch gemacht und mich nun "belehren" lassen, dass diese Option viel professioneller ist. Damit wird der Wert zur Laufzeit ausgelesen.

Die SWITCH Abfrage gestaltet sich nun so:

Code: Alles auswählen

switch(xfa.event.newText) {
case "1":
Subform1.presence = "invisible";
break;
case "2")':
Subform1.presence = "hidden";
break;
default:
Subform1.presence = "visible";
break;
}
Die CASE Blöcke sind beliebig erweiterbar. Ein DEFAULT ist nicht Pflicht, fängt aber alles ab, an was Du vielleicht nicht gedacht hast.

Hier auch noch einmal nachzulesen.
http://help.adobe.com/de_DE/livecycle/9.0/designerHelp/index.htm?content=000693.html

Liebe Grüße Mandy


Antworten