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:|