Functie werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stef Jager

Stef Jager

01/12/2012 13:26:46
Quote Anchor link
Ik heb een functie op: 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.
 
PHP hulp

PHP hulp

14/11/2024 04:20:10
 
Wouter J

Wouter J

01/12/2012 13:39:42
Quote Anchor link
Open de console (Ctrl + Shift + J of F12 in IE), klik op de button en lees de foutmelding:
Quote:
Uncaught TypeError: object is not a function [toevoegen.html:155]
 
Stef Jager

Stef Jager

01/12/2012 13:51:16
Quote Anchor link
De foutmelding is weg, maar de functie doet het nog niet.
Gewijzigd op 01/12/2012 14:30:55 door Stef Jager
 
Wouter J

Wouter J

01/12/2012 15:04:01
Quote Anchor link
Ik krijg nog steeds dezelfde foutmelding...
 
Kris Peeters

Kris Peeters

03/12/2012 09:53:47
Quote Anchor link
De functie werkt inderdaad niet.
Het begint hier mee:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
      var vak = document.getElementById(vak).value;
      var cijfer = document.getElementById(cijfer).value;
      var weging = document.getElementById(weging).value;        

moet worden
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
      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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
  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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>");
  }


-----

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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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!
Gewijzigd op 03/12/2012 10:23:04 door Kris Peeters
 
Stef Jager

Stef Jager

03/12/2012 11:22:56
Quote Anchor link
Bedankt
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.