[Javascript] Functie aanroepen in body

Pagina: 1
Acties:
  • 447 views sinds 30-01-2008
  • Reageer

  • Kanivan
  • Registratie: Januari 2002
  • Laatst online: 09-04-2023
Ik wil een functie in de body van een html pagina aanroepen die paar regels html genereert. Ik roep deze functie aan met de onload event, maar er wordt niets gegenereerd. Kan iemand mij uitleggen wat er mis gaat?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<head>
<script type="text/javascript">

var test = new Array()
test[0] = 0
test[1] = 1
test[2] = 2
test[3] = 3

function test()
{
    for (i=0;i<test.length;i++)
    {
    document.write(test[i] + "<br />")
    }
}

</script>
</head>

<body>
<script type="text/javascript" onload="test()">
</script>


</body>
</html>

  • momania
  • Registratie: Mei 2000
  • Laatst online: 19:27

momania

iPhone 30! Bam!

HTML:
1
2
3
<body onload="test()">
   ...
</body>


of:

HTML:
1
2
3
4
5
<body>
   <script type="text/javascript">
       test();
   </script>
</body>

:Y)

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Je hebt je onload in het script element gezet, hij hoort in je body. Nog beter is in principe om het volgende aan het eind van je script te zetten (dus na de functie declaratie)

JavaScript:
1
window.onload = test;

  • Kanivan
  • Registratie: Januari 2002
  • Laatst online: 09-04-2023
het liefst zou ik deze oplossing gebruiken omdat ik dan zelf kan aangeven waar hij binnen mijn html body de tekst moet genereren, maar onderstaande code werkt niet bij mij...
momania schreef op woensdag 15 november 2006 @ 13:45:

HTML:
1
2
3
4
5
<body>
   <script type="text/javascript">
       test();
   </script>
</body>

:Y)

[ Voor 26% gewijzigd door Kanivan op 15-11-2006 13:56 ]


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Gewoon het volgende gebruiken. Moet werken.

JavaScript:
1
2
3
<script language="javascript">
    window.onload = test;
</script>

[ Voor 74% gewijzigd door Bram77 op 15-11-2006 14:12 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Als je document al gerendered is (dus als de onload wordt aangeroepen) kan je geen document.write's meer aanroepen (die overschrijven dan je huidige document).
document.write dien je dus inline te gebruiken.

Intentionally left blank


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Inderdaad. Wat je wel kunt doen is je pagina achteraf dynamisch vullen met Javascript m.b.v.

JavaScript:
1
document.getElementById('objID').innetHTML = "Vulling";

of
JavaScript:
1
document.getElementById('objID').innetText= "Vulling";

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Bram77 schreef op woensdag 15 november 2006 @ 15:27:
Inderdaad. Wat je wel kunt doen is je pagina achteraf dynamisch vullen met Javascript m.b.v.

JavaScript:
1
document.getElementById('objID').innetHTML = "Vulling";

of
JavaScript:
1
document.getElementById('objID').innetText= "Vulling";
Gebruik dan liever de DOM-methods in plaats van propriety (innerHTML) of IE-only methods (innerText).

Intentionally left blank


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
En de DOM-methods zijn? (ik wil absoluut niet alwetend overkomen)

  • user109731
  • Registratie: Maart 2004
  • Niet online
Bram77 schreef op woensdag 15 november 2006 @ 16:05:
En de DOM-methods zijn? (ik wil absoluut niet alwetend overkomen)
createTextNode, createElement, appendChild, ... :)
Pagina: 1