Utz: Netscape 6 und Formularbehandlung

Hi zusammen,

ich kämpfe gerade mit dem Kollegen Netscape 6.1 und komme an einer Stelle einfach nicht weiter.

Ich habe ein Formular mit DHTML-Elementen; je nach Auswahl kommen weitere Formularelemente hinzu oder fallen weg. Gelöst ist das mit .innerHTML (ja ich weiß, ist kein DOM - hier siegte die Faulheit *g*).

Alle Values merke ich mir in Variablen, da ab und an ein kompletter Refill des Formulars notwendig ist. Dazu gibt's ne Funktion, und an der hakt's an einer Stelle:

if (ccflag == 1 || forcedccflag == true) {
  document.mainform.box1.selectedIndex = wert1;
  document.mainform.text1.value = wert2;
  document.mainform.text2.value = wert3;
  document.mainform.box2.selectedIndex = wert4;
  document.mainform.box3.selectedIndex = wert5;
}

Alle Elemente liegen in einem mit .innerHTML erzeugten Bereich. Die if-Abfrage checkt anhand von Flags, ob es die Felder gibt.

In dieser Form macht der Netsi mit dem Code-Schnippsel gar nichts (wenn ich allerdings ein alert hinzufüge, kommt das). Kommentiere ich aber 4 der 5 Statements aus, wird das verbliebene korrekt ausgeführt. Es ist dabei egal, welche auskommentiert werden und welches bleibt. Auch wenn die if-Abfrage auskommentiert wird, bleibt das Problem bestehen.

Es gibt keine JS-Fehlermeldungen, die Funktion wird danach weiter abgearbeitet, und: natürlich sind wert1, wert4 und wert5 Integer.

Kennt jemand so ein Verhalten und weiß, wie man drum rum kommt?

Grüße,

Utz

  1. Hallo Utz

    Alle Values merke ich mir in Variablen, da ab und an ein kompletter Refill des Formulars notwendig ist. Dazu gibt's ne Funktion, und an der hakt's an einer Stelle:

    Alle Elemente liegen in einem mit .innerHTML erzeugten Bereich. Die if-Abfrage checkt anhand von Flags, ob es die Felder gibt.

    In dieser Form macht der Netsi mit dem Code-Schnippsel gar nichts (wenn ich allerdings ein alert hinzufüge, kommt das). Kommentiere ich aber 4 der 5 Statements aus, wird das verbliebene korrekt ausgeführt. Es ist dabei egal, welche auskommentiert werden und welches bleibt. Auch wenn die if-Abfrage auskommentiert wird, bleibt das Problem bestehen.

    Es gibt keine JS-Fehlermeldungen, die Funktion wird danach weiter abgearbeitet, und: natürlich sind wert1, wert4 und wert5 Integer.

    Kennt jemand so ein Verhalten und weiß, wie man drum rum kommt?

    Kennen tue ich es nicht, habe aber eine Vermutung. Ich schätze hier liegt ein Zeitproblem vor.
    Rufe mal die Füllfunktion etwas zeitverzögert auf. Eventuell hilft das schon weiter.

    Gruß

    Antje

    1. Hallo Antje,

      Kennen tue ich es nicht, habe aber eine Vermutung. Ich schätze hier liegt ein Zeitproblem vor.
      Rufe mal die Füllfunktion etwas zeitverzögert auf. Eventuell hilft das schon weiter.

      Das hatte ich auch schon vermutet und probiert - hilft aber leider nix.

      Mittlerweile erkenne ich wenigstens ein bisschen die Systematik dahinter - es ist nicht ganz so wie zuerst beschrieben. Es sollen ja drei Select-Listen und zwei Textfelder gefüllt werden. Es funktioniert folgendes: alle drei Select-Listen und _ein_ Textfeldern füllen (egal welches), das geht. In einem zweiten Aufruf kann dann das zweite Textfeld gefüllt werden. Aber: beide Textfelder in einem Aufruf zu füllen führt dazu, dass keines der Füllstatements in der if-Abfrage ausgeführt wird (die danach dann aber schon). Das ist ein ziemlich kurioses Verhalten. Ach ja, noch was: wenn einmal ein Füllen fehlgeschlagen ist, geht danach auch das Teil-Füllen nicht mehr - erst ein Reload ermöglicht das Teilfüllen wieder.

      Grüße,

      Utz

      1. Hallo Utz

        Das hatte ich auch schon vermutet und probiert - hilft aber leider nix.

        Mittlerweile erkenne ich wenigstens ein bisschen die Systematik dahinter - es ist nicht ganz so wie zuerst beschrieben. Es sollen ja drei Select-Listen und zwei Textfelder gefüllt werden.

        Schicke doch mal eine Beispielseite vorbei. Es wäre doch gelacht, wenn man dem Browser seine Macken nicht austreiben kann.

        Viele Grüße

        Antje