Ik heb al van alles geprobeerd, maar ik weet geen raad met het volgende probleem.
Ik heb zelf een uitgebreider stuk code, maar de kern van het probleem kan goed geillustreerd worden door de volgende code.
Wat ik verwacht;
Zodra de html pagina geopend wordt, wordt de myname var geset. Ik verwacht dan dus dat de var state1 de volgende waarde bevat: 'Hallo Piet'
Het stuk html met Hallo Piet zou dan getoond moeten worden.
Wat er gebeurt;
Omdat de var myname een lege string is, wordt state1 geinitialiseerd als 'Hallo'
Het setten van de myname via de onload in de html is dan dus al te laat.
Wat doe ik verkeerd, of hoe zou het anders kunnen/moeten?
Ik heb zelf een uitgebreider stuk code, maar de kern van het probleem kan goed geillustreerd worden door de volgende code.
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <html> <head> <title>test</title> <script language="JavaScript"> var myname = ""; var state1 = "<p>Hallo "+ myname +"</p>"; function initAndStart(theName){ myname = theName; document.getElementById('greeting').innerHTML = state1; } </script> </head> <body onload="initAndStart('Piet')"> <div id="greeting"> </div> </body> </html> |
Wat ik verwacht;
Zodra de html pagina geopend wordt, wordt de myname var geset. Ik verwacht dan dus dat de var state1 de volgende waarde bevat: 'Hallo Piet'
Het stuk html met Hallo Piet zou dan getoond moeten worden.
Wat er gebeurt;
Omdat de var myname een lege string is, wordt state1 geinitialiseerd als 'Hallo'
Het setten van de myname via de onload in de html is dan dus al te laat.
Wat doe ik verkeerd, of hoe zou het anders kunnen/moeten?
Strix (Skullflame)