03. juni 2002 - 22:23Der er
6 kommentarer og 3 løsninger
Udskriv simpel tekst
Hej
Jeg har et script, som lytter efter om der et klikket på bestemte knapper. For at gøre det hele meget enkelt kan vi sige, at hvis "knap1" bliver aktiveret, skal den skriv "knap 1 er blevet aktiveret", osv. med knap2.
Det, som er mit spørgsmå, er, hvad skriver man for at scriptet kan skrive en besked ud på skærmen (ikke alert). Hvis jeg f.eks. skriver...
document.write("knap 1 er blevet aktiveret");
... sletter/renser den hele skræmbillet (med knapper og det hele), hvilket ikke er meningen. Teksten skal i stedet komme til syne f.eks. under den aktiverede knap.
Hvordan kan det lade sig gøre? (Og jeg er ikke interesseret i asp-løsninger)
<script type="text/javascript"> function skrivTilDiv(dinTekst) { var minDiv=document.getElementById('dinDivID'); minDiv.innerHTML=dinTekst; } </script>
men der er nogen lunde de samme begrænsninger med innerHTML som med getElementById() - det virker kun i de nyeste browsere
mik789 >> Jep, I know... DOM er understøttet i IE 5+ og Mozilla baserede browsere, altså Mozilla selv og NS 6, Opera 5+ MENER jeg også det virker i, men jeg tør dog ikke at garantere det.
innerHTML er i hvert fald understøttet af IE 5+ samt Mozilla og dermed også NS 6, om Opera så kan følge med ved jeg ikke, men NS 4x kan i hvert fald ikke.
Jeg valgte phoenixvs kode, da det er helt crossbrowser-orienteret, men da jeg gerne vil vælge en bestemt font til det tekst, som skal udskrives på skærmen, skrev jeg følgende:
else if (document.layers) document.minLayer.document.write("<font face='Trebuchet MS'>" + txt + "</font>");
Men desværre forbliver teksten i den samme font, dvs. standartfonten. Hvorfor?
Synes godt om
Slettet bruger
05. juni 2002 - 22:06#8
Det er vel formentlig fordi du ikke har skrevet det alle stederne:
<script> function skriv(txt) { txt = "<font face='Trebuchet MS'>" + txt + "</font>"; if (document.getElementById) document.getElementById("minDiv").innerHTML = txt; else if (document.all) document.all.minDiv.innerHTML = txt; else if (document.layers) document.minLayer.document.write(txt); } </script>
Så skulle det vist gerne virke... Det, du skrev, burde dog også fungere i NS4, men KUN i den browser!
Det virker. Mange tak for hjælpen til jer alle :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.