Open de console (Ctrl + Shift + J of F12 in IE), klik op de button en lees de foutmelding:
Uncaught TypeError: object is not a function [toevoegen.html:155]
De foutmelding is weg, maar de functie doet het nog niet.

Ik krijg nog steeds dezelfde foutmelding...
De functie werkt inderdaad niet.
Het begint hier mee:


      var vak = document.getElementById(vak).value;
      var cijfer = document.getElementById(cijfer).value;
      var weging = document.getElementById(weging).value;        

moet worden

      var vak = document.getElementById('vak').value;
      var cijfer = document.getElementById('cijfer').value;
      var weging = document.getElementById('weging').value;        


En dan nog ...
je hebt geen id="weging"; je hebt die "nummer2" genoemd.
Zie lijn 165; je hebt dat element twee id's gegeven; dat mag niet.
Ik zou voorstellen om die id="nummer2" weg te laten.

----

Dit kan ook beter

  var i = 0;
  while (i<33) //aantal vakken
    {
    document.write("<option value='" + i + "'>" + vak[i] + "</option>");
    i++;
  }

Als je een incrementele i hebt, kan je beter een for-lus gebruiken; die zijn daarvoor ontworpen.
Altijd proberen vermijden om zo'n getal als 33 hard coded te gebruiken, diep in je code

  var length = weging.length; //aantal vakken
  for (var i=0; i<length; i++) 
    {
    document.write("<option value='" + i + "'>" + vak[i] + "</option>");
  }


-----

Wat je trouwens hier mee probeert te bereiken, is mij volkomen een raadsel

if(vak[i] == vak)


----

Meer algemeen:
Zorg dat je altijd duidelijk weet waarmee je bezig bent.
Is het een string? Is het een variabele-naam? Moet het wel of niet tussen aanhalingstekens? ...

Neem nu dit:

localStorage.setItem("name1", "data1");


een paar lijnen hoger heb je var name1 en var data1 aangemaakt. Ik veronderstel dan ook dat het de bedoeling is dat je die variabelen gaat gebruiken.
Als je die echter tussen aanhalingstekens zet, worden dat strings. Variabelen niet tussen aanhalingstekens zetten!

Reageren