DOM-Manipulation im IE wird nicht angezeigt
Johannes
- javascript
Hallo zusammen,
ich möchte dynamisch in einer Tabelle neue Zeilen hinzufügen. Im FF funktioniert das einwandfrei. Auch der IE wirft keine Fehler, aber man sieht keine Veränderung.
Dies ist der HTML-Code der Tabelle:
<TABLE style="width: 96%" id="odt"><TR><TH style="width:5%">Bestellen</TH><TH style="width:30%">Domain</TH><TH style="width:65%">Status</TH></TR>
</TABLE>
und das der Java-Script-Code:
<input type="button" value="text" onclick='tr = document.createElement("tr");
td1 = document.createElement("td");
cb = document.createElement("input");
cb.setAttribute("type", "checkbox");
cb.setAttribute("name", "teeeeeeeest");
cb.setAttribute("value", "1");
cb.setAttribute("checked", "checked");
td1.appendChild(cb);
td2 = document.createElement("td");
td2.appendChild(document.createTextNode("teeeeeeeest"));
td3 = document.createElement("td");
td3.appendChild(document.createTextNode("teeeeeeeest"));
td3.style["color"] = "#fff";
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
document.getElementById("odt").appendChild(tr);
checkdomainscount = checkdomainscount - 1;
enablecheckdomains();
' />
hat jemand eine Idee, wodran dies im IE scheitert?
hi,
ich möchte dynamisch in einer Tabelle neue Zeilen hinzufügen. Im FF funktioniert das einwandfrei. Auch der IE wirft keine Fehler, aber man sieht keine Veränderung.
Es steht bereits Dutzendfach oder noch häufiger im Archiv:
Der IE möchte, dass Tabellenzeilen explizit in einen TBody (oder THead/Tfoot) eingehängt werden, und nicht direkt als Kinder von Table.
gruß,
wahsaga
Jo Sorry, hab etwas komplizierte Suchbegriffe gehabt, wo ich nichts gefunden habe.
Hat noch jemand eine Idee, warum die Checkbox im IE nicht "checked" ist?
hi,
Hat noch jemand eine Idee, warum die Checkbox im IE nicht "checked" ist?
Vermeide setAttribute, wo immer möglich.
Du kannst Attributwerte genausogut per objekt.attributname = wert setzen.
Und die checked-Eigenschaft von Inputfeldern hast aus Sicht von Javascript nicht den Wert "checked", sondern true oder false.
gruß,
wahsaga
Vermeide setAttribute, wo immer möglich.
Du kannst Attributwerte genausogut per objekt.attributname = wert setzen.
Und die checked-Eigenschaft von Inputfeldern hast aus Sicht von Javascript nicht den Wert "checked", sondern true oder false.
Hat das nen Grund Warum man setAttribute nicht verwenden sollte?
Hab das jetzt so: Im FF gehts weiterhin im IE ist der Haken nicht drin...
tr = document.createElement("tr");
td1 = document.createElement("td");
cb = document.createElement("input");
cb.type = "checkbox";
cb.name = "test[test]";
cb.value = "1";
cb.checked = true;
td1.appendChild(cb);
hi,
Hat das nen Grund Warum man setAttribute nicht verwenden sollte?
Der IE macht damit oftmals Probleme, wenn man Attribute zu setzen versucht, die ein Element "per se" und von Natur aus schon besitzt.
Hab das jetzt so: Im FF gehts weiterhin im IE ist der Haken nicht drin...
cb.checked = true;
td1.appendChild(cb);
Probier mal, die Reihenfolge umzudrehen - erst ins Dokument einhängen, dann checken.
gruß,
wahsaga
Probier mal, die Reihenfolge umzudrehen - erst ins Dokument einhängen, dann checken.
ich hab die Lösung:
cb.defaultChecked = true;
funktioniert im IE und im FF
Hallo Johannes.
ich möchte dynamisch in einer Tabelle neue Zeilen hinzufügen. Im FF funktioniert das einwandfrei. Auch der IE wirft keine Fehler, aber man sieht keine Veränderung.
Und da diese Frage hier schon x-mal gestellt wurde, kann ich nur davon ausgehen, dass du uns testest.
Ja, ich kann die Suche bedienen und auch fündig werden.
Test bestanden?
Einen schönen Mittwoch noch.
Gruß, Mathias