Sven Burkert: Quellcode identisch - aber trotzdem Unterschiede??

Hallo,

im Firefox gehts, im IE aber nicht. So fangen 50% meiner Posts an... :(

Diesesmal: Ich möchte mit JavaScript auf den Wert eines Input-Feldes (Name 'ad_details_array[21]') in einem Formular (Name: 'hidden_ad_tooltips') zugreifen:
alert(document.forms['hidden_ad_tooltips'].elements['ad_details_array[21]'].value);

In meiner PHP Datei baue ich dieses Formular mit PHP:

echo "<form name='hidden_ad_tooltips' id='hidden_ad_tooltips'>";
echo "<input type=hidden name=ad_details_array[21] value='aaa'>";
echo "</form>";

In diesem Fall bringt der IE einen Fehler: 'ad_details_array[21]' ist Null oder kein Objekt.

Wenn ich das Formular ganz normal mit HTML baue geht es anstandslos:
<form name='hidden_ad_tooltips' id='hidden_ad_tooltips'><input type=hidden name=ad_details_array[21] value="aaaaa"</form>

Wieso macht der IE das?

  1. Hi,

    In meiner PHP Datei baue ich dieses Formular mit PHP:

    das ist bei clientseitigen Problemen absolut egal. Der Client wird niemals erfahren, dass da eventuell mal PHP im Spiel war - und es würde ihm auch nichts bringen, denn er kann kein PHP. Eliminiere also bei clientseitigen Problemen *immer* *jeden* serverseitigen Code.

    In diesem Fall bringt der IE einen Fehler: 'ad_details_array[21]' ist Null oder kein Objekt.

    Wie lautet der validierte Quellcode?

    Wenn ich das Formular ganz normal mit HTML baue

    Wenn Du also rätst, was der Server wohl rausgeschrieben haben mag? Das bringt nichts. Prüfe, was er rausgeschrieben _hat_.

    <form name='hidden_ad_tooltips' id='hidden_ad_tooltips'><input type=hidden name=ad_details_array[21] value="aaaaa"</form>

    Und validiere das.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Wie lautet der validierte Quellcode?

      Wenn Du also rätst, was der Server wohl rausgeschrieben haben mag? Das bringt nichts. Prüfe, was er rausgeschrieben _hat_.

      Ich hoffe ich hab dich richtig verstanden...

      Also ich bin wie folgt vorgegangen: Ich habe das Formular mit PHP gebaut. Als es nicht funktioniert hat, mit JavaScript den value-Wert auszulesen, hab ich den Quelltext angeschaut, das komplette Formular kopiert und damit den PHP-Quellcode ersetzt, der das Formular baut. Plötzlich ging es...!

      1. Hi,

        Also ich bin wie folgt vorgegangen: Ich habe das Formular mit PHP gebaut. Als es nicht funktioniert hat, mit JavaScript den value-Wert auszulesen, hab ich den Quelltext angeschaut, das komplette Formular kopiert und damit den PHP-Quellcode ersetzt, der das Formular baut. Plötzlich ging es...!

        verlinke bitte die beiden Dokumente, also das von PHP generierte und das rein statische.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. verlinke bitte die beiden Dokumente, also das von PHP generierte und das rein statische.

          Ok habe jetzt die Beispielumgebung aufgebaut: http://www.sbtheke.de/madtv/testphp.php

          Wenn du es mit FF aufrufst, funktioniert es, mit IE nicht.
          Mir scheint es nun so, dass es nicht am PHP-gebauten Formular liegt, sondern am Umfang des Formulars bzw. dem umfangreichen Wert im value-Attribut.

          1. Vergesse bitte das Beispiel - hab was falsch gemacht.
            Momentan geht es mit dem IE - obwohl ich *nichts* gemacht habe... frage mich wie lange.
            Ich habe ewig getestet und Änderungen gemacht usw...
            Ich habe ab und zu dieses Problem, dass Änderungen erst Stunden später wirksam werden, man hat mir gesagt, das liegt evtl am Proxy. Wenn ich aber auf localhost arbeite, kann es dann auch am Proxy liegen?

            1. Wenn ich aber auf localhost arbeite, kann es dann auch am Proxy liegen?

              Vermutlich nicht. Wahrscheinlicher ist, dass der IE falsche Cache-Einstellungen hat. Du solltest vieleiicht den Cache generell deaktivieren.

              Jonathan