Zork beim Tork: Radiobuttons

Beitrag lesen

Aus einem Formular soll der Wert eines 'gecheckten' Radiobuttons an eine Funktion übergeben werden. Alles was hinten rauskommt ist 'undefined'

<input type="radio" name="Range" value="50"> 1 - 50<br>
<input type="radio" name="Range" value="75" checked="checked"> 1 - 75<br>
<input type="radio" name="Range" value="100"> 1 - 100<br></div>
<input name="Create" type="button" value="Erstellen" onclick="Pforte(document.Form.Quant.value, document.Form.Range.value)"><br>

Schau Dir mal das Beispiel zur Abfrage von Radio-Elementen an.

Dein Problem ist, dass Du zwar mit document.Form.Range schon den Richtigen zufassen hast, aber dann die falsche Abfrage machst, denn die Eigenschaft value gibt es dort nicht. Das Objekt Range ist ein Feld, in dem die drei <input>-Elemente stecken, und erst in diesen findest Du value und checked - und zwar für jedes Element einzeln.
Deine Vorgehensweise muss daher sein, das Feld Range zu durchlaufen, bis Du auf ein Element triffst, dessen Eigenschaft checked gesetzt ist. Von diesem Element kannst Du dann value auslesen. Das geht in etwa so (ungeprüft aus den Fingern gesaugt):

for (i = 0; (i < Range.length) && (! Range[i].checked); i++) {
}
if (i < Range.length) {
    alert("Wert ist " + Range[i].value + ".");
}
else {
    alert("Nichts gewählt.");
}