2016-04-04 17 views
1

Ich habe eine Reihe von Absätzen mit dem Klassennamen "display". Was ich versuche, ist, die Formulareingabewerte zu erhalten (Formular ist der Name "inputForm") und diese über innerHTML den Absätzen zuzuweisen. Das Problem ist, dass die for-Schleife nie ausgeführt wird.InnerHTML wird nicht aufgerufen, wenn getElementsByClassName verwendet wird

Jede Hilfe würde sehr geschätzt werden. Vielen Dank.

+6

'var i = 0'. ... – Oriol

+1

'undefined

+1

@Oriol. Vielen Dank. Irgendwann hasse ich das Debuggen von Javascript ... – HaloMediaz

Antwort

2

Sie haben vergessen, i zu ZERO innerhalb Ihrer for-Schleife-Anweisungen zu initialisieren.

dies Versuchen Sie stattdessen für die for-Schleife:

for (var i=0; i < elements.length; i++) { 
    elements[i].innerHTML += formElements[i].value; 
    alert(i); // never gets called 
} 
+1

Ich fühle mich so dumm. Danke, Mann! – HaloMediaz

1

In der Initialisierungsausdruck-Schleife, die Variable i deklarieren, ohne ihm einen Wert zuweisen, was bedeutet, dass es Wert undefined gesetzt. Die Bedingung der Schleife ist daher immer falsch: undefined < elements.length, daher wird die Anweisung niemals ausgeführt.

for ([initialization]; [condition]; [final-expression]) 
    statement 

Sie dieses Problem beheben, indem Sie die Variable deklarieren und ihr einen Wert zuweisen: var i = 0.

Verwandte Themen