Hallo,
ich habe folgendes Problem: ich möchte den Inhalt eines HTML-Container-Elements auslesen und per POST-Formular zur Weiterverarbeitung versenden.
Den HTML-Inhalt hole ich mir mit containerElement.innerHTML();
Im Mozilla/Firefox ist das überhaupt kein Problem, der IE dagegen liefert als innerHTML nicht valides HTML, d.h. die Elementnamen sind plötzlich Großbuchstaben und die Standardattribut-Werte sind nicht mehr in Anführungszeichen eingeschlossen, also z.B.: <P class=test>
Nun gibt es ja zum Glück reguläre Ausdrücke, dachte ich mir und wollte daher im ersten Schritt die Elementnamen wieder in kleingeschriebene Strings verwandeln:
ieValue = ieValue.replace(/<([A-Z]+)([^>]*?)>/ig, "$1".toLowerCase());
Der Ausdruck ist nicht sonderlich komplex und matcht auch.
Allerdings weigert sich der IE, die gefundenen Elementnamen durch die kleingeschriebene Version ("$1".toLowerCase()) zu ersetzen.
Testweise habe ich es einmal mit dem Ausdruck:
Hallo,
ich habe folgendes Problem: ich möchte den Inhalt eines HTML-Container-Elements auslesen und per POST-Formular zur Weiterverarbeitung versenden.
Den HTML-Inhalt hole ich mir mit containerElement.innerHTML();
Im Mozilla/Firefox ist das überhaupt kein Problem, der IE dagegen liefert als innerHTML nicht valides HTML, d.h. die Elementnamen sind plötzlich Großbuchstaben und die Standardattribut-Werte sind nicht mehr in Anführungszeichen eingeschlossen, also z.B.: <P class=test>
Nun gibt es ja zum Glück reguläre Ausdrücke, dachte ich mir und wollte daher im ersten Schritt die Elementnamen wieder in kleingeschriebene Strings verwandeln:
ieValue = ieValue.replace(/<([A-Z]+)([^>]*?)>/ig, "XxX$1yYy".toLowerCase());
versucht.
Dieser Ausdruck liefert als Ergebnis zum Beispiel: xxxPyyy bei <P class=test>.
D.h. das toLowerCase() an sich greift - nur wird eben der Match $1 nicht konvertiert.
Lange Rede, kurzer Sinn: kennt jemand von Euch dieses Verhalten? Ist das IE-spezifisch? Oder ein neuer Bug? Der Dölling-Bug? Noch besser wäre es, wenn Ihr eine Lösung für mich hättet oder Lösungsvorschläge!
Thanx und ciao,
Andreas