wolef: über DOM eingefügte INPUT Felder werden nicht erkannt

Hallo,
ich habe über DOM-Befehle eine Webseite um einige INPUT- Felder erweitert.
Die Felder werden auch angezeigt, über getElementByName gefunden usw.

Schicke ich das Formular mit dem IE7 ab, so erhalte ich die Felder auch als POST Request. Genauso funktioniert es im Firefox bei einem lokal installierten Webserver.
Bei einen auf einen anderen Rechner im LAN installierten Webserver werden aber die Felder beim Firefox nicht mitgegeben.

Wenn ich mir die Seiteninformationen der Seite anzeigen lasse, dann werden die Felder beim der lokal laufenden Webseite angezeigt, bei der im Lan nicht (firebug und Dom-Inspector zeigen die Elemente an).

Hat jemand eine Idee, wie man Firefox dazu bringen kann die Felder auch an andere Rechner auszuliefern (ist wohl eher ein Einstellungsproblem als ein JS Problem).

Grüße und Danke für eventuelle Ideen,
Wolfgang

  1. Hallo wolef,

    ich habe über DOM-Befehle eine Webseite um einige INPUT- Felder erweitert.
    Die Felder werden auch angezeigt, über getElementByName gefunden usw.

    Eine leicht andere Situation, aber ähnlich, vielleicht helfen Dir die dortigen Debugging-Hinweise weiter. Bei mir waren es letztlich falsch verschachtelte Elemente, die den FF durcheinanderbrachten.

    Gruß aus Köln-Ehrenfeld,

    Elya

    1. Hallo Elya,
      ich habe die Form-Eigenschaft getestet. Sie wird tatsächlich nicht mit übergeben. Leider ist es nicht nur ein Verschachtelungsproblem. Denn das ganze läuft ja ohne Probleme auf einen lokalen Virtuellen Apache Server. Auf einen Virtuellen Apache Server der auf einen anderen Rechner läuft, auf dem ich den Quelltext mittels CVS übertrage funktioniert das gleiche Skript (nur ein anderer Browsertab) nicht mehr.
      Ich werde mal versuchen die Form manuell zuzuweisen.

      Danke
      Wolef

      1. Hallo Elya,

        Ich denke ich habe das Problem gelöst, es ist eine falsche Verschachtelung, die schon durch die Erstellung des Objekts aus einer Datenbank entsteht.

        Danke für den Tipp mit den .form Attribut

        Gruß,
        wolef

  2. Hallo Wolfgang,

    Schicke ich das Formular mit dem IE7 ab, so erhalte ich die Felder auch als POST Request. Genauso funktioniert es im Firefox bei einem lokal installierten Webserver.

    Soweit klar.

    Bei einen auf einen anderen Rechner im LAN installierten Webserver werden aber die Felder beim Firefox nicht mitgegeben.

    Mr. Spock würde sagen: Das ist nicht logisch. Der Browser unterscheidet beim Absenden nicht, an welchen Server er sendet, sondern sendet immer das gleiche.

    Wenn ich mir die Seiteninformationen der Seite anzeigen lasse, dann werden die Felder beim der lokal laufenden Webseite angezeigt, bei der im Lan nicht

    Dann schickt der LAN-Server das JavaScript nicht mit, so dass das fehlende Script die Felder natürlich auch nicht einsetzt.

    (firebug und Dom-Inspector zeigen die Elemente an).

    Auch wenn das Formular vom LAN-Server kommt? Die neuen Felder sind also im DOM vorhanden, werden aber nicht angezeigt? Das wäre auch nicht logisch.

    Gruß, Don P

    1. Hallo Wolfgang,

      Schicke ich das Formular mit dem IE7 ab, so erhalte ich die Felder auch als POST Request. Genauso funktioniert es im Firefox bei einem lokal installierten Webserver.

      Soweit klar.

      Bei einen auf einen anderen Rechner im LAN installierten Webserver werden aber die Felder beim Firefox nicht mitgegeben.

      Mr. Spock würde sagen: Das ist nicht logisch. Der Browser unterscheidet beim Absenden nicht, an welchen Server er sendet, sondern sendet immer das gleiche.

      scheinbar unterscheidet der Browser schon. Einmal ist es eine Virtuelle Domain auf dem lokalen Apache (per HOST Datei auf 127.0.0.1 umgeleitet).
      Das andere mal ein Server im Lahn (auch eine virtuelle Domain). Der Quellcode wurde mittels CVS auf beider Servern synchronisiert.
      Firebug und Dom-Inspector zeigen die Elemente sowohl auf der lokalen als auch auf der Externen Version an (Das ganze läuft parallel in einem Firefox, es sind nur zwei unterschiedliche Tabs). einziger unterschied, in den Seiteninformationen werden im Formulartab die neuen Eingaben nur auf der lokalen Version angezeigt.

      Lässt man sich über Javascript die Form zum Inputelement ausgeben, dann ist sie lokal zugewiesen (alert zeigt ein HTML Form Element) auf der externen Version wird dagegen keine Form zugewiesen (alert zeigt null)

      Das klingt zwar unlogisch ist aber leider so. Scheinbar unterscheidet Firefox doch zwischen Remote und lokal.

      Gruß
      Wolef

      1. Hallo,

        scheinbar unterscheidet der Browser schon. Einmal ist es eine Virtuelle Domain auf dem lokalen Apache (per HOST Datei auf 127.0.0.1 umgeleitet).
        Das andere mal ein Server im Lahn (auch eine virtuelle Domain).

        Das Ganze ist für mich trotzdem ein bisschen verwirrend. Wenn du dafür sorgst, dass beide Server exakt das gleiche schicken, dann kann IMHO auch kein Unterschied in der Anzeige bzw. Auswertung bestehen.

        Mit "das Gleiche" meine ich sowohl alles HTML als auch alles JavaScript, wobei das JavaScript vom selben Server geladen werden sollte wie das HTML. Es gibt da die sog. "same origin policy", wonach ein Browser nicht ohne weiteres JavaScript-Code ausführt, der von einem anderen Server stammt als das Dokument, das den Code aufruft.

        Ansonsten gibt es wohl auch noch die Möglichkeit, dass sich JavaScript-Code verschiedener Dokumente (Frames oder Tabs) im selben Browser irgendwie in die Quere kommt. Aber da kenne ich mich nicht aus. Das könntest du überprüfen, indem du die Namen der Variablen, Formulare und Formularelemente auf einem der Server änderst. Wenn das Phänomen dann verschwindet...

        Gruß, Don P

        1. Ich habe den Fehler gefunden. Es ist kein JS Problem, die Formulare die erweitert werden werden Dynamisch erzeugt. Die Datenbasis war etwas anders. Dadurch wurde die Form nicht richtig verschachtelt.

          Danke aber für das zusätzliche Kopfzerbrechen. Das hat  mir den Schubs in die Richtige Richtung gegeben.

          Danke