probleem met event afhandeling en getElementsbyClassName

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J opla

j opla

19/01/2021 16:04:20
Quote Anchor link
Goedemiddag,

Het is al een tijdje geleden dat ik wat simpele dingen met javascript heb gedaan. Maar nu wilde ik iets simpels maken dacht ik. Het idee is basis, ik heb 3 inputboxen, als de waarde in de eerste of tweede verandert dan moet een bewerking er van in de derde verschijnen. Omdat ik straks meerdere van dit soort inputboxen-groepjes (3x woordwaarde) op de pagina krijg die allemaal hetzelfde ongeveer moeten doen, dacht ik een eventhandler te kunnen maken op basis van "getElementsByClassName". Ik had het volgende bedacht:

html:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<input class="input_nr nummer_invoegen" name="start_nr_1" id="start_nr_1" type="number" value="1" />
<input class="input_nr nummer_invoegen" name="eind_nr_1" id="eind_nr_1" type="number"  />
<input class="input_nr" name="totaal_1" id="totaal_1" type="number" readonly />            


javascript:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
window.onload = function () {
    var myNummersInvoegen = document.getElementsByClassName("nummer_invoegen");
    var i;
    var myID;

    for (i = 0; i < myNummersInvoegen.length; i++) {
        myNummersInvoegen[i].onchange = function () {    
            myID = myNummersInvoegen[i].value;
        }    
    }
}


Ik krijg de volgende foutmelding:
Uncaught TypeError: myNummersInvoegen is undefined


Kennelijk maak ik een simpele denkfout, maar welke. Want als ik het element met "getElementById" selecteerde, dan werkte het wel. Kan iemand me op weg helpen?

Toevoeging op 19/01/2021 20:40:09:

Dank voor alle reacties, ze waren zeer waardevol, de javascriptcode ontbeert in regel 6 het woordje "let":
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
for (let i = 0; i < myNummersInvoegen.length; i++) {
Gewijzigd op 19/01/2021 16:09:00 door J opla
 
Er zijn nog geen reacties op dit bericht.



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.