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:
<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:
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?
[size=xsmall][i]Toevoeging op 19/01/2021 20:40:09:[/size]
Dank voor alle reacties, ze waren zeer waardevol, de javascriptcode ontbeert in regel 6 het woordje "let":
for (let i = 0; i < myNummersInvoegen.length; i++) {