Tekst og HTML-kode med document.write()





Hvad går det ud på?

Der er flere måder hvorpå man kan skrive tekst på hjemmesider med JavaScript. Den simpleste måde, som også er yderst robust, er kommandoen document.write(). document.write() har også den fordel, at man let kan skrive HTML-kode som afvikles sammen med JavaScriptet. Ligeledes er det let at flette tekst og variabler og lave forskellige typer af formatteringer.


Simpel tekst og HTML

Hvis vi starter med et simpelt stykke tekst. Tekst skrives i anførselstegn. Som kode ser det således ud:

<SCRIPT TYPE="text/javascript">
document.write("Tekst med JavaScript");
</SCRIPT>

og på skærmen kommer det til at se således ud:




HTML-koder skriver man som man ellers ville skrive sin kode, f.eks. kursiv:

<SCRIPT TYPE="text/javascript">
document.write("Tekst med <I>JavaScript</I>");
</SCRIPT>


på skærmen bliver det så:




Fordi anførselstegnet fungerer som start og stop for tekst, kan man ikke uden videre sætte dele af teksten i anførselstegn, uden at det går galt med afviklingen af JavaScriptet. Måden at omgå dette på, er at sætte et backslash foran anførselstegn, som skal bruges til tekst, dvs. sådan her: \". Så hvis vi laver et JavaScript der ser således ud:

<SCRIPT TYPE="text/javascript">
document.write("Tekst med \"JavaScript\"");
</SCRIPT>


så kommer det til at se således ud:




Et godt råd!
Hvis man skal til at lave mere komplekse konstruktioner med document.write(), som f.eks. en tabel, er det en god idé, at splitte det op i flere programlinjer. Også selv om det strengt taget ikke er nødvendigt. Det gør koden mere overskuelig, og reducerer mængden af fejl.

Koden til en tabel, konstrueret med document.write(), bestående af én række med to celler, vil komme til at se således ud:

<SCRIPT TYPE="text/javascript">
document.write("<TABLE>");
document.write("<TR> <TD> </TD> <TD> </TD> </TR>");
document.write("</TABLE>");
</SCRIPT>



Tekst plus beregnede værdier/variabler

Har man tekst og variabler der skal kombineres, gøres dette med et +. Hvis vi har en rutine der beregner dags dato, og vil skrive det efter teksten "Dags dato er", så ser det således ud som kode:

<SCRIPT TYPE="text/javascript">
var DagsDato = new Date();
var dd = DagsDato.getDate();
var mm = DagsDato.getMonth()+1;
var yyyy = DagsDato.getFullYear();
DagsDato = mm + "/" + dd + "/" + yyyy;

document.write("Dags dato er " + DagsDato);
</SCRIPT>


og på skærmen kommer det til at se således ud:



Har man brug for mere tekst eller flere variabler i teksten man vil skrive, adderer man blot derudaf med plus.