Timo "God's Boss" Reitz: For in Schleife wird nicht durchlaufen

Beitrag lesen

var customParams = {};

for(var field in form.fields)
{
    field = form.fields[field];
    customParams[field] = field.value;
}

  
In der Zeile `field=...`{:.language-javascript} überschreibst du die Variable, die sich den Namen der aktuellen Eigenschaft des Objekts beim Schleifendurchlauf merkt. Der neue Wert ist eine Referenz auf einen DOM-Knoten (entspricht dem Input-Element). Dessen String-Repräsentation ist üblicherweise sowas wie `[Object HTMLInputElement]`{:.language-javascript} o.ä., in der Zeile mit `customParams[field]=...`{:.language-javascript} weist du also jedesmal der gleichen Objekteigenschaft von customParams, nämlich der, die den entsprechen Namen trägt, den Wert des Input-Feldes zu.  
Wenn der Wert des letzten Input-Feldes also z.B. "xyz" ist, sähe eine Objekt-Repräsentation von `customParams`{:.language-javascript} so (oder ähnlich) aus: `{"[Object HTMLInputElement]":"xyz"}`{:.language-javascript}  
  

> Das Problem ist, dass er garnicht in die For-in-Schleife reingeht, sondern diese komplett übergeht, obwohl form.fields garantiert nicht leer ist.  
  
`customParams`{:.language-javascript} sollte nach obigem Code und deinen Angaben zufolge genau einen Wert enthalten, siehe oben.

-- 
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.  
  
Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|