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:

<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++) {

Reageren