Functie werkt niet
http://jager-web.nl/labs/SchoolAgenda+/3/toevoegen.html
Zodra er op de button op deze pagina wordt geklikt zou de functie moeten worden aangeroepen. Dit gebeurt niet. Hoe kan dat? Wat doe ik fout?
Alvast bedankt.
Ik heb een functie op: Zodra er op de button op deze pagina wordt geklikt zou de functie moeten worden aangeroepen. Dit gebeurt niet. Hoe kan dat? Wat doe ik fout?
Alvast bedankt.
Quote:
Uncaught TypeError: object is not a function [toevoegen.html:155]
Gewijzigd op 01/12/2012 14:30:55 door Stef Jager
Ik krijg nog steeds dezelfde foutmelding...
Het begint hier mee:
Code (php)
1
2
3
2
3
var vak = document.getElementById(vak).value;
var cijfer = document.getElementById(cijfer).value;
var weging = document.getElementById(weging).value;
var cijfer = document.getElementById(cijfer).value;
var weging = document.getElementById(weging).value;
moet worden
Code (php)
1
2
3
2
3
var vak = document.getElementById('vak').value;
var cijfer = document.getElementById('cijfer').value;
var weging = document.getElementById('weging').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
Code (php)
1
2
3
4
5
6
2
3
4
5
6
var i = 0;
while (i<33) //aantal vakken
{
document.write("<option value='" + i + "'>" + vak[i] + "</option>");
i++;
}
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
Code (php)
1
2
3
4
5
2
3
4
5
var length = weging.length; //aantal vakken
for (var i=0; i<length; i++)
{
document.write("<option value='" + i + "'>" + vak[i] + "</option>");
}
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
----
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:
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!
Gewijzigd op 03/12/2012 10:23:04 door Kris Peeters
Bedankt