Toon posts:

[JS] script met document.write wordt server-side uitgevoerd?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zal eerst even zeggen dat ik niet echt een Javascripter ben, maar zelfs via de search kreeg ik geen hulp.

Ik heb een pagina die een kalender toont (1 maand, een tabel). Bij het opstarten van de pagina toont hij de huidige maand. Deze maand is dus een tabel die door Javascript wordt 'geschreven' met document.write. Linksbovenin en rechtsbovenin de tabel zitten buttons om naar de vorige respectievelijk volgende maand te springen. Als hierop wordt geklikt, geef ik variabelen mee in de functie-aanroep zodat de functie die de kalender afdrukt weet welke maand hij moet afdrukken. Het probleem is nu niet dat het script niet werkt, echter javascript schrijft de source als het ware en ik zie dus geen functie in de pagina verschijnen. Probleem is dus dat ik de functie niet kan aanroepen met de buttons.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
<script>
function calendar(maand,jaar)
{
   //hier dus het script dat de kalender toont (schrijft tabel met document.write)
}

function start()
{
   //hier script dat huidige maand/jaar bepaald en doorgeeft aan functie calender
}
</script>
</head>
<body onLoad="start()">
</body>
</html>


De buttons staan dus ook in de tabel en tussen de buttons wordt de maand en het jaar afgedrukt (zodat duidelijk is welke maand er wordt getoond). Nu vraag ik me dus af hoe het komt dat in de source geen script meer staat, maar alleen code van een tabel (ook geen html-, body- en head-tags) en natuurlijk: hoe kan ik dit oplossen :)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verander de document.write in alert :?
Of better yet, gooi de string die je document.write in een textarea?

...Bij nader inzien kan ik je niet he-le-maal volgen ;)

[ Voor 22% gewijzigd door RobIII op 09-07-2004 12:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Omdat als je nadat de pagina helemaal klaar is met laden weer met document.write iets schrijft hij de hele pagina weer overschrijft.

Je kunt beter document.body.innerHTML = bla gebruiken, nog beter is het om via de DOM te werken.

[ Voor 28% gewijzigd door André op 09-07-2004 12:14 ]


Verwijderd

Topicstarter
RobIII schreef op 09 juli 2004 @ 12:12:
Verander de document.write in alert :?
Of better yet, gooi de string die je document.write in een textarea?

...Bij nader inzien kan ik je niet he-le-maal volgen ;)
Het probleem is dus dat er een tabel met document.write wordt geschreven en dat gaat dus niet met alert of in een textarea (toch?).

Verwijderd

Dat komt omdat je naar de pagina kan schrijven met document.write() zolang de pagina geladen wordt. Daarna gaat die vlieger niet meer op...
Dan zul je dus met DOM functies moeten werken...

Verwijderd

Topicstarter
Kan iemand mij misschien heel kort uitleggen hoe ik dan DOM/innerHTML moet toepassen in dit geval of waar ik hier informatie over kan vinden (met betrekking tot tabellen).

Klopt het bovendien dat ik gewoon een lege tabel met html moet maken en deze met innerhtml achteraf kan gaan invullen aan de hand van de id's die ik aan de cellen van de tabel meegeef?

Verwijderd

Ga gewoon eerst eens rustig wat tutorials lezen:

http://www.w3schools.com/dhtml/default.asp

Verwijderd

Topicstarter
Kijk, dat bedoelde ik. Bedankt voor deze link (en overige tips natuurlijk ook :9). Ik denk dat ik er nu wel uit ga komen.
Pagina: 1