Toon posts:

[JavaScript] document.write kan maar 1 keer

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik moet voor school iets maken dat aan de hand van een aantal vragen bepaald of iemand recht heeft op Stufi. Nou heb ik dit met een javascript gedaan.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<html>
<head>

<script type='text/javascript'>
function a1(a) 
{
  if (a == "ja") {
    alert("Jep");
  } else if (a == "nee") {
    v2();
  }
}
function a2(a)
{
  if (a == "ja") {
    alert("he he");
  } else if (a == "nee") {
    alert("Jippie");
  }
}

function v1()
{
  document.write("<form>");
  document.write("Bezit u de Nederlandse nationaliteit?");
  document.write("  <select name='v1' onchange='a1(this.value)'>");
  document.write("    <option value=''></option>");
  document.write("    <option value='ja'>Ja</option>");
  document.write("    <option value='nee'>Nee</option>");
  document.write("  </select>");
  document.write("</form>");
}
function v2()
{
  document.write("<form>");
  document.write("Heeft een van je ouders voor jou een tegemoetkoming ouders ontvangen in het voorafgaande schooljaar?");
  document.write("  <select name='v2' onchange='a2(this.value)'>");
  document.write("    <option value=''></option>");
  document.write("    <option value='ja'>Ja</option>");
  document.write("    <option value='nee'>Nee</option>");
  document.write("  </select>");
  document.write("</form>");
}

</script>

</head>
<body>

<script type='text/javascript'>
  v1();
</script>

</body>
</html>

Dit is maar een klein stukje van de code, de volledige versie is 24 vragen. Maar dat is onnodig veel herhaling.

als ik hem start krijg ik mooi de eerste vraag te zien. Als ik die beantwoord kom ik ook bij de tweede vraag uit. Of ik krijg de alert in dit geval. Maar als ik dan die tweede vraag beantwoord krijg ik een fout in plaats van de alert die ik zou moeten krijgen.

Als ik helemaal onderaan meteen naar de tweede vraag verwijs dan krijg ik wel de reactie die ik wil hebben. Dus de functies kloppen wel.

Dus mijn vraag is nou waarom hij een tweede ax functie niet uitvoert?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

als je document.write uitvoert nadat je pagina al volledig geparsed is dan wordt je huidige document overschreven.

Intentionally left blank


Verwijderd

Topicstarter
Shit, aan zoiets simpels had ik niet eens gedacht.

Maar hoe zoe ik dit danhet beste op kunnen lossen.
Ik kan natuurlijk een functie maken die het hele document maakt en die iedere keer aan roepen maar volgens mij moet het makkelijker kunnen.

iig alvast bedankt.
En sorry voor de TT. ik zie nou pas dat ik vergeten ben er nog iets achter te zetten.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Of innerHTML gebruiken, of echte DOM-functies om dynamisch dingen in je document aan te passen.
Nog beter is natuurlijk een serverside oplossing :)

Intentionally left blank


Verwijderd

Topicstarter
Ik heb het opgelost met inner HTML.
Bedankt.