Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Javascript] optellen van funvtions

Pagina: 1
Acties:
  • 318 views

  • Slicey
  • Registratie: Oktober 2013
  • Laatst online: 21-11 13:20
hallo, ik moet voor een schoolproject een bioscoopwebsite maken met reserveringssysteem.
bij het reserveringssysteem moet er een totaal prijs uitkomen nadat de stoelen zijn geselecteerd. dit lukt mij alleen niet omdat ik de code niet weet om dit te doen.

Er zijn 3 mogelijke prijzen per stoel: 7, 10 of 12 euro. Alle stoelen en prijzen worden gecreëerd door javascript code. en de stoelen die zijn geselecteerd zitten in local storage.

dit is de code die ik nu heb:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
function lees_Storage()
{
    if(localStorage.length)
    {
        var lengte = localStorage.lengte;
        var reeks = [];
        
        for(var i = 0 ; i < lengte ; i++ )
        {
            reeks[i] = localStorage.key(i);
        }

    }
    else
    {
    }
    
}

function plaats_stoelen()
{
  var plaats;
  for(var rn = 0 ; rn < zaal.length ; rn++)
  {
    for(var sn = 0 ; sn < zaal[rn].length ; sn++ )
    {
        switch(zaal[rn][sn])
        {
          case 0 : plaats = maak_leegte();break;
          case 1 : plaats = maak_stoel(1,rn,sn);break;
          case 2 : plaats = maak_stoel(2,rn,sn);break;
          case 3 : plaats = maak_stoel(3,rn,sn);break;
        }
        document.getElementById("DIV_zaal").appendChild(plaats);
    }
    document.getElementById("DIV_zaal").appendChild(document.createElement("br"));
  }
}

function maak_leegte()
{
  var plaats = document.createElement("button");
  plaats.type = "button";
  plaats.setAttribute("class","leeg");

  return plaats;
}

function is_gereserveerd(stoel)
{
    var id = stoel.id;
    gevonden = false;
    var i = 0;

    while(!gevonden && (i < localStorage.length) )
    {
        if (id == localStorage.key(i))
        {
            gevonden = true;
        }
        i++;
    }
    return gevonden;
}

function geef_prijs(pk)
{
  var prijs;
  switch(pk)
  {
    case 1 : prijs = 12;break; 
    case 2 : prijs = 10;break; 
    case 3 : prijs =  7;break; 
  }
  return prijs;
}

function maak_stoel(prijsklasse,rn,sn)
{
    var stoel = document.createElement("button");
    stoel.type = "button";
    stoel.id = "Rij: " + rn + " Stoel: " + sn + " prijs: " + geef_prijs(prijsklasse) + " Euro";
    stoel.value = prijsklasse;
    stoel.title = geef_prijs(prijsklasse);
    stoel.addEventListener("click",reserveer,false);

    var klasse;
    if(is_gereserveerd(stoel))
    {
        klasse = "klasse_gereserveerd";
    }
    else
    {
        klasse = "klasse_" + prijsklasse;
    }
    stoel.setAttribute("class",klasse);

    return stoel;
}

    
function lees_reserveringen()
{
    if(localStorage.length)
    {
        var lengte = localStorage.length;
        var reeks = [];

        for(var i = 0 ; i < lengte ; i++)
        {
            reeks[i] = localStorage.key(i);
        }

        var html = "";
        for(var i = 0 ; i < lengte ; i++)
        {
            var r = localStorage.getItem(reeks[i]);
            html +=
             "<font style = 'color:#7FFF00' size = '4'>" + reeks[i] +
                "<BR>";
        }
        document.getElementById("DIV_reeks").innerHTML = html;
    }
    else
    {
        document.getElementById("DIV_reeks").innerHTML = "er zijn geen gegevens opgeslagen.";
    }
}
function reserveer(e)
{
    var stoel = e.srcElement;

    stoel.style.background = "#008000";
    stoelnummer = stoel.id;
    localStorage.setItem(stoelnummer,"");
    som = som + pareseInt(stoel.title);
    document.getElementById("FORM_zaal").submit();
}



de function geef_prijs geeft de prijsklassen weer.

*sorry voor de spellingsfout in de titel

[ Voor 0% gewijzigd door Slicey op 04-11-2013 11:29 . Reden: code tags toegevoegd ]


  • Rannasha
  • Registratie: Januari 2002
  • Laatst online: 22-11 18:42

Rannasha

Does not compute.

Slicey schreef op maandag 04 november 2013 @ 11:10:
hallo, ik moet voor een schoolproject een bioscoopwebsite maken met reserveringssysteem.
bij het reserveringssysteem moet er een totaal prijs uitkomen nadat de stoelen zijn geselecteerd. dit lukt mij alleen niet omdat ik de code niet weet om dit te doen.

Er zijn 3 mogelijke prijzen per stoel: 7, 10 of 12 euro. Alle stoelen en prijzen worden gecreëerd door javascript code. en de stoelen die zijn geselecteerd zitten in local storage.

dit is de code die ik nu heb:
Gebruik code-tags:

JavaScript:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
function lees_Storage()
{
    if(localStorage.length)
    {
        var lengte = localStorage.lengte;
        var reeks = [];
        
        for(var i = 0 ; i < lengte ; i++ )
        {
            reeks\[i] = localStorage.key(i);
        }

    }
    else
    {
    }
    
}

function plaats_stoelen()
{
  var plaats;
  for(var rn = 0 ; rn < zaal.length ; rn++)
  {
    for(var sn = 0 ; sn < zaal\[rn].length ; sn++ )
    {
        switch(zaal\[rn]\[sn])
        {
          case 0 : plaats = maak_leegte();break;
          case 1 : plaats = maak_stoel(1,rn,sn);break;
          case 2 : plaats = maak_stoel(2,rn,sn);break;
          case 3 : plaats = maak_stoel(3,rn,sn);break;
        }
        document.getElementById("DIV_zaal").appendChild(plaats);
    }
    document.getElementById("DIV_zaal").appendChild(document.createElement("br"));
  }
}

function maak_leegte()
{
  var plaats = document.createElement("button");
  plaats.type = "button";
  plaats.setAttribute("class","leeg");

  return plaats;
}

function is_gereserveerd(stoel)
{
    var id = stoel.id;
    gevonden = false;
    var i = 0;

    while(!gevonden && (i < localStorage.length) )
    {
        if (id == localStorage.key(i))
        {
            gevonden = true;
        }
        i++;
    }
    return gevonden;
}

function geef_prijs(pk)
{
  var prijs;
  switch(pk)
  {
    case 1 : prijs = 12;break; 
    case 2 : prijs = 10;break; 
    case 3 : prijs =  7;break; 
  }
  return prijs;
}

function maak_stoel(prijsklasse,rn,sn)
{
    var stoel = document.createElement("button");
    stoel.type = "button";
    stoel.id = "Rij: " + rn + " Stoel: " + sn + " prijs: " + geef_prijs(prijsklasse) + " Euro";
    stoel.value = prijsklasse;
    stoel.title = geef_prijs(prijsklasse);
    stoel.addEventListener("click",reserveer,false);

    var klasse;
    if(is_gereserveerd(stoel))
    {
        klasse = "klasse_gereserveerd";
    }
    else
    {
        klasse = "klasse_" + prijsklasse;
    }
    stoel.setAttribute("class",klasse);

    return stoel;
}

    
function lees_reserveringen()
{
    if(localStorage.length)
    {
        var lengte = localStorage.length;
        var reeks = [];

        for(var i = 0 ; i < lengte ; i++)
        {
            reeks\[i] = localStorage.key(i);
        }

        var html = "";
        for(var i = 0 ; i < lengte ; i++)
        {
            var r = localStorage.getItem(reeks\[i]);
            html +=
             "<font style = 'color:#7FFF00' size = '4'>" + reeks\[i] +
                "<BR>";
        }
        document.getElementById("DIV_reeks").innerHTML = html;
    }
    else
    {
        document.getElementById("DIV_reeks").innerHTML = "er zijn geen gegevens opgeslagen.";


    }
}
function reserveer(e)
{
    var stoel = e.srcElement;

    stoel.style.background = "#008000";
    stoelnummer = stoel.id;
    localStorage.setItem(stoelnummer,"");
    som = som + pareseInt(stoel.title);
    document.getElementById("FORM_zaal").submit();
}

|| Vierkant voor Wiskunde ||


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 11:54

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
var lengte = localStorage.lengte;


lijkt me al een eerste fout, verder zie ik ook bv dingen als .pareseInt()

basic debugging zou je hier al helpen, en een ietsebietsie meer zorgvuldigheid

ook bv je functie maak_leegte() creert een element en retourneert deze, enkel als je aleen deze functie oproept en er niks aan doet, wordt dit element nergens aan je HTML-source toegevoegd (bv via append/prepend methodes)

[ Voor 35% gewijzigd door RM-rf op 04-11-2013 11:21 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Slicey
  • Registratie: Oktober 2013
  • Laatst online: 21-11 13:20
Rannasha schreef op maandag 04 november 2013 @ 11:18:
[...]


Gebruik code-tags:

JavaScript:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
function lees_Storage()
{
    if(localStorage.length)
    {
        var lengte = localStorage.lengte;
        var reeks = [];
        
        for(var i = 0 ; i < lengte ; i++ )
        {
            reeks\[i] = localStorage.key(i);
        }

    }
    else
    {
    }
    
}

function plaats_stoelen()
{
  var plaats;
  for(var rn = 0 ; rn < zaal.length ; rn++)
  {
    for(var sn = 0 ; sn < zaal\[rn].length ; sn++ )
    {
        switch(zaal\[rn]\[sn])
        {
          case 0 : plaats = maak_leegte();break;
          case 1 : plaats = maak_stoel(1,rn,sn);break;
          case 2 : plaats = maak_stoel(2,rn,sn);break;
          case 3 : plaats = maak_stoel(3,rn,sn);break;
        }
        document.getElementById("DIV_zaal").appendChild(plaats);
    }
    document.getElementById("DIV_zaal").appendChild(document.createElement("br"));
  }
}

function maak_leegte()
{
  var plaats = document.createElement("button");
  plaats.type = "button";
  plaats.setAttribute("class","leeg");

  return plaats;
}

function is_gereserveerd(stoel)
{
    var id = stoel.id;
    gevonden = false;
    var i = 0;

    while(!gevonden && (i < localStorage.length) )
    {
        if (id == localStorage.key(i))
        {
            gevonden = true;
        }
        i++;
    }
    return gevonden;
}

function geef_prijs(pk)
{
  var prijs;
  switch(pk)
  {
    case 1 : prijs = 12;break; 
    case 2 : prijs = 10;break; 
    case 3 : prijs =  7;break; 
  }
  return prijs;
}

function maak_stoel(prijsklasse,rn,sn)
{
    var stoel = document.createElement("button");
    stoel.type = "button";
    stoel.id = "Rij: " + rn + " Stoel: " + sn + " prijs: " + geef_prijs(prijsklasse) + " Euro";
    stoel.value = prijsklasse;
    stoel.title = geef_prijs(prijsklasse);
    stoel.addEventListener("click",reserveer,false);

    var klasse;
    if(is_gereserveerd(stoel))
    {
        klasse = "klasse_gereserveerd";
    }
    else
    {
        klasse = "klasse_" + prijsklasse;
    }
    stoel.setAttribute("class",klasse);

    return stoel;
}

    
function lees_reserveringen()
{
    if(localStorage.length)
    {
        var lengte = localStorage.length;
        var reeks = [];

        for(var i = 0 ; i < lengte ; i++)
        {
            reeks\[i] = localStorage.key(i);
        }

        var html = "";
        for(var i = 0 ; i < lengte ; i++)
        {
            var r = localStorage.getItem(reeks\[i]);
            html +=
             "<font style = 'color:#7FFF00' size = '4'>" + reeks\[i] +
                "<BR>";
        }
        document.getElementById("DIV_reeks").innerHTML = html;
    }
    else
    {
        document.getElementById("DIV_reeks").innerHTML = "er zijn geen gegevens opgeslagen.";


    }
}
function reserveer(e)
{
    var stoel = e.srcElement;

    stoel.style.background = "#008000";
    stoelnummer = stoel.id;
    localStorage.setItem(stoelnummer,"");
    som = som + pareseInt(stoel.title);
    document.getElementById("FORM_zaal").submit();
}
oke dankjewel voor de tip, die kon ik niet vinden

  • Slicey
  • Registratie: Oktober 2013
  • Laatst online: 21-11 13:20
RM-rf schreef op maandag 04 november 2013 @ 11:19:
code:
1
var lengte = localStorage.lengte;


lijkt me al een eerste fout, verder zie ik ook bv dingen als .pareseInt()

basic debugging zou je hier al helpen, en een ietsebietsie meer zorgvuldigheid

ook bv je functie maak_leegte() creert een element en retourneert deze, enkel als je aleen deze functie oproept en er niks aan doet, wordt dit element nergens aan je HTML-source toegevoegd (bv via append/prepend methodes)
oke bedankt, de code werkt nu wel maar is nog niet mooi gemaakt. ook is dit niet de hele code maar het gedeelte waar mijn vraag van toepassing kan zijn. (ik moet zorgen dat de prijzen van de geselecteerde stoelen bij elkaar worden opgeteld.)

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Welkom in de devschuur Slicey. Dit topic ga ik op slot doen om een aantal redenen

1. Door de enorme lap code is het niet meer duidelijk wat het probleem is. We zien hier in de devschuur graag alleen korte stukjes code die je probleem illustreren. Op die manier is het voor andere mensen ook makkelijker om jou te helpen.

2. Ik zie in je post geen duidelijk probleem beschrijving. Je gooit alleen een lap code neer met daarbij wat je wil bereiken. Echter geef je nergens aan wat nou hetgeen is dat niet wil lukken.

3. Je topic hoort eigenlijk in Webdesign, Markup & Clientside Scripting, normaal zou ik het topic best voor je willen verplaatsen, maar aangezien de vorige punten sluit ik dit topic.

Je mag gerust een nieuw topic open, maar hou daarbij bovenstaande punten in gedachte en lees ook even De Quickstart door om te voorkomen dat ook dat topic op slot gaat.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1

Dit topic is gesloten.