Aktualisierung von innerHTML spielt verrückt im Firefox

worki2k1

Erfahrenes Mitglied
Hallo Leute,

ich experimentiere gerade etwas mit AJAX rum und mir ist etwas seltenes passiert. Ich aktualisiere den Inhalt eines <div> mit dem Wert aus einer Variable, den ich über AJAX lade. Da der Quelltext sehr umfangreich ist, poste ich hier mal die relevanten Teile:
PHP:
tabs = http_request.responseText;
document.getElementById('box').innerHTML = tabs;
Es existiert ein <div id="box"></div> welches mit den Werten gefüllt werden soll. Die Variable "tabs" enthält definitiv den richtigen Wert (geprüft). Die gesamt Aktion wird durch einen Button angestoßen. Jetzt das eigenartige: In allen Browsern reagiert das Script richtig, lädt den Inhalt per AJAX und aktualisiert den Inhalt des DIVs. Im Firefox jedoch hängt er den zurückgelieferten Wert an den bestehenden Inhalt an. Auch ein vorheriges Löschen von innerHTML bringt keinen Erfolg. So langsam habe ich keine Ideen mehr.

Hat jemand soetwas schon einmal erlebt und evtl. schon gelöst? Bin dankbar für Hilfe.
 
Moin,moin ...
hatte mal selbiges Prob, liegt beim Firefox daran, dass dieser Browser mehr mit js dom arbeitet, und "getElementById(elem) im innerHTML-erstellten quelltext keine ID's mehr hat.
nimmst Du dann getElementsByName(elem)[0], findet sowohl Firefox als auch der IE
die Elemente wieder ;)

*Obwohl das nicht die sauberste Lösung ist - normalerweise empfiehlt sich hier die Benutzung von DOM-Funktionen wie Object.firstChildNodeValue etc*

LG
Andy
 
Komisch...wenn er das Element anhand der ID nicht mehr gefunden würde, dürfte doch garnichts eingefügt werden, weil ein Fehler produziert wird.

@Karl: ist das irgendwo online, damit man es mal inspizieren kann?
 
Hallo Leute,

erstmal schon vielen Dank für die Antworten. Ich werde morgen mal schauen ob es funktioniert.

@Sven Mintel: Es handelt sich dabei um unsere Firmenwebseite. Ich weiß nicht ob ich die Erlaubnis habe eine unveröffentlichte Funktion vorab jemandem zu zeigen.

Ich probier es erstmal aus und meld mich dann nochmal.
 
Zurück