"Peter Nielsen" <pedn@wullamusic.dk> writes:
> Er der ikke en måde at skrive som alm tekst på siden istedet for, og så den
> ændrer sig?
Det kræver en moderne browser. Ældre browsere enten kan slet ikke ændre
indhold efter siden er loadet, eller bruger deres egne ikke-standardiserede
metoder til det.
Hovedsynderne her er Netscape 4 (layers) og IE 4 (innerHTML).
Den moderne metode:
---
function clearNode(node) {
while (node.hasChildNodes()) {
node.removeChild(node.lastChild);
}
}
function changeContent(id,text) {
var elem = document.getElementById(id);
if (!elem) {return;} // id findes ikke i siden
clearNode(elem);
elem.appendChild(document.createTextNode(text));
}
---
I Netscape 4 kan man skrive til "layers" (enten lavet med <layer> eller
med <div style="position:absolute">) som om de var dokumenter.
---
function NSChangeContent(id,text) {
var doc = document.layers[id].document;
doc.open();
doc.write(text);
doc.close();
}
---
I IE 4 kan man ikke bruge den moderne metode, som i senere IE'er, men
kun Microsoft's hjemmeopfundne:
---
function IEChangeContent(id,text) {
var elem = document.all[id];
id.innerText = text;
}
---
Der er også ældre browsere hvor der slet ingen muligheder er (fx Opera 6).
Det eneste man er sikker på at kunne skrive i i alle browsere, er input-
elementer.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'