Hallo,
document.getElementsByName(feldName).value=alter;
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name@title=getElementsByName gibt dir eine Liste von Elementen. Das deutet der Plural ja bereits an: getElement*s*ByName.
name-Attribute sind nicht dokumentweit eindeutig, daher können mehrere Formularfelder (oder andere Elemente mit name-Attribut) denselben Namen tragen, was auch häufig vorkommt.
Diese Array-artige Liste hat keine value-Eigenschaft. Du erzeugst eine solche Eigenschaft mit dieser Codezeile.
alert(feldName + '/' + document.getElementsByName('alterK1').value + '/' + document.anmeldung.alterK1.value);
Hier liest du die Eigenschaft, die du gerade erzeugt hast, wieder aus. Und siehe da, sie hat den Wert, den du ihr zugewiesen hast.
Das funktioniert selbstverständlich – es ändert aber nicht den Wert des fraglichen Feldes. Du sprichst das Feld mit document.getElementsByName('alterK1') nicht an, sondern eine Liste, in dem das fragliche Feld wahrscheinlich enthalten ist.
Du kannst dir z.B. die Anzahl aller gefundenen Felder mit dem Namen »alterK1« ausgeben lassen:
document.getElementsByName('alterK1').length
Und auf das erste gefundene Feld zugreifen, sofern die Liste nicht leer ist:
document.getElementsByName('alterK1')[0]
In solchen Fällen hilft es auch, den Rückgabewert einfach mal in eine Variable zu speichern und diesen zu Untersuchungszwecken ausgeben zu lassen. Beispielsweise auf der JavaScript-Konsole von Firebug oder dem Chrome/Safari Web Inspector. Dort kann man Objekte wie diese Listen sehr gut untersuchen und viel dabei lernen.
Mathias