---
title: "Sidan blir blank?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/99613-sidan-blir-blank"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Jesper T"
published: "2004-03-16T14:59:46.000Z"
updated: "2004-03-17T07:54:53.000Z"
replies: 5
views: 297
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/99613-sidan-blir-blank"
---

# Sidan blir blank?

## #1 — Jesper T, 2004-03-16T14:59Z

Varför blir sidan blank när jag försöker att populera tabellen?

```
...
<head>
<script language="JavaScript" type="text/javascript">
var populate = new Array(6);
for(var n=0;n<populate.length;n++){
	populate[n] = new Array();
}

populate[0]="-- visa --||";
populate[1]="65|Arne|Olle";
populate[2]="3|svenne|åsa";
populate[3]="76|bengan|britta";
populate[4]="33| |Olle";
populate[5]="67|tom|dsd"; 
</script>
</head>
<body>
Text och annat.
<script> 
window.onload= function showpopulate(){

    document.write("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">");
	
	document.foo.underpopulate.length=populate.length;
	for(var n=0;n<populate.length;n++){
		document.write("<tr><td>"+populate[n].split("|")[2]+"</td></tr>");

	}

    document.write("</table>");
}
</script>
Text och annat.
</body>
```

Permalänk: https://www.webforum.nu/p/99613

## #2 — dAEk, 2004-03-16T15:56Z

Min teori är att det beror på hur Mozilla fungerar. \[har inte testat andra browsers\]

När sidan laddats körs funktionen som sriver ett nytt dokument som börjar med \<table border="1"...  osv\>
När scriptet sedan kommer till for-loopen känner den inte igen variabeln populate eftersom den inte längre är i samma 'scope' \[den defineras utanför det nya dokumentet, dvs utanför funktionen showpopulate()\].
Detta i sig genererar ett felmeddelande  som säger precis detta; att populate inte finns i stort sett., och scriptet avbryts.
Jag kan ha helt fel i min teori så lita inte på att det jag skriver verkligen stämmer. :)
\[ngn som känner att den har en mer korrekt förklaring får gärna rätta mig om jag har fel, jag är på hal is!\]

En DOM-lösning vore kanske bättre ? \[men då faller äldre webläsare bort\]

Permalänk: https://www.webforum.nu/p/1301904

## #3 — nitro2k01, 2004-03-16T18:35Z

Du kan inte använda document.write efter att sidan laddats (Vilket du uttryckligen gör eftersom den ligger i window.onload). Pröva att lägga den i en enkel script-tagg.
Annars måste du använda innerHTML. Här finns info om hur man kan få det att funka i Mozilla <http://webfx.eae.net/dhtml/mozInnerHTML/mozInnerHtml.html>

Permalänk: https://www.webforum.nu/p/1301953

## #4 — Jesper T, 2004-03-17T07:23Z

Jag skall inte ha det i mozilla. Varför tror ni det?

> Pröva att lägga den i en enkel script-tagg.

 Hur menar du?

Permalänk: https://www.webforum.nu/p/1302156

## #5 — Jojoxx, 2004-03-17T07:37Z

> **Jesper T skrev:**
>
> > Pröva att lägga den i en enkel script-tagg.
>
>  Hur menar du?

M.a.o. ta bort window.onload= function showpopulate(){
 och den sista } :)

Permalänk: https://www.webforum.nu/p/1302161

## #6 — Jesper T, 2004-03-17T07:54Z

Jag fattade det till slut. :) :)

```
<script language="JavaScript" type="text/javascript">
var populate = new Array(6);
for(var n=0;n<populate.length;n++){
	populate[n] = new Array();
}
populate[0]="-- visa --||";
populate[1]="65|Arne|Olle";
populate[2]="3|svenne|åsa";
populate[3]="76|bengan|britta";
populate[4]="33| |Olle";
populate[5]="67|tom|dsd"; 
</script>
</head>
<body>
Text och annat.
<script> 
document.write("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">");
	for(var n=0;n<populate.length;n++){
		document.write("<tr><td>"+populate[n].split("|")[2]+"</td></tr>");

	}
document.write("</table>");
</script>
Text och annat.
</body>
```

Permalänk: https://www.webforum.nu/p/1302176

---

Tråden på webben: https://www.webforum.nu/amne/javascript/99613-sidan-blir-blank
