probleem met event afhandeling en getElementsbyClassName
j opla
19/01/2021 16:04:20Goedemiddag,
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:
javascript:
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":
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)
1
2
3
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 />
<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)
1
2
3
4
5
6
7
8
9
10
11
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;
}
}
}
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":
Gewijzigd op 19/01/2021 16:09:00 door J opla
Er zijn nog geen reacties op dit bericht.