Ich weiß nicht mehr weiter - google auch nicht^^
Ich arbeite gerade mit Ajax und lade mir XML-Dateien der folgenden Form nach:
<?xml version="1.0" encoding="UTF-8"?>elemIdappend
das ist die neue box
Nun möchte ich den Inhalt des modul-Knotens an einer beliebigen Stelle in einer HTML-Seite platzieren. Aber wie stelle ich das an, dass es auch in allen Browsern funktioniert?!
Mein Ansatz war:
var xml = ajax.responseXML;
var modul = xml.getElementsByTagName("modul")[0];
var target = document.getElementById("target");
target.appendChild(modul.childNodes[0]);
Wenn man davon absieht, dass der Firefox unnötige [object Text] Elemente als childNodes im modul-Knoten der XML findet, klappt das mit diesem Browser schon ganz gut.
Der Internet Explorer macht bei dieser Aktion jedoch nicht mit und textet mich damit zu: „Error: Schnittstelle nicht unterstützt“. Wer weiß wie das besser geht?
Ich hätte da sogar einen weiteren Ansatz, kenne mich aber in JavaScript zu wenig aus um den umzusetzen: Im Gegensatz zum Firefox kann der Internet Explorer den Inhalt des modul-Knotens als Text ausgeben mit:
var string = modul.childNodes[0] **.xml** ;
Gibt es in JavaScript eine Funktion, die mir diesen Text in ein DOM-Element umwandelt? Google weiß auch nix. Und ja, ich brauch das ganze als DOM-Element. Weil wenn ich einen neuen Knoten in Textform unter ein halbausgefülltes Formular nachlade mit:
var string = modul.childNodes[0].xml;
var div = document.getElementById("elementMitFormularDrin");
div.innerHTML = div.innerHTML + string;
dann gehen die bisherigen Formulareingaben verloren - und das wollen wir ja nicht^^
Also, wer hat nen guten Rat für mich?