Formular mit JS auswerten: Radio button
Baba
- javascript
Hallo.
Kenn' mich nicht so mit JS aus.
Folgenden Code habe ich jetzt schon zig mal in Beispielen gesehen.
<form name="test">
<input type="radio" name="myradio" />
<input type="radio" name="myradio" checked />
<input type="radio" name="myradio" />
</form>
<script type="text/javascript">
//a variable that will hold the index number of the selected radio button
for (i=0;i<document.test.myradio.length;i++){
if (document.test.myradio[i].checked==true)
theone=i
}
</script>
Was nur, wenn ich den Namen der Radiogruppe (hier myradio) auch dynamisch machen will?
Mein etwas abgewandeltes Beispiel geht so:
var allVars = new Object();
var inputs = document.forms[formname].elements;
for(var i=0; i<inputs.length; i++){
// continues
if(inputs[i].type == "button") continue;
if(inputs[i].type == "submit") continue;
// radio button
if(inputs[i].type == "radio"){
if(inputs[i].name in allVars) continue;
console.log(inputs[i].name.length); // gibt länge des namen (chr)
console.log(inputs[i].length); // gibt undefined !!!
console.log(inputs.Geschlecht.length); // funktioniert, nur habe ich den Namen ja nicht parat
}
// type text
if(inputs[i].type == "text"){
allVars[inputs[i].name] = inputs[i].value;
}
An der Stelle mit den console.log's will ich schlicht die Anzahl der Radios haben, die die Gruppe enthält, um darüber zu schleifen...
Wie geht das, ich bin am Verzweifeln.
Vielen Dank für den Hinweis.
Cheers,
Baba
@@Baba:
nuqneH
Was nur, wenn ich den Namen der Radiogruppe (hier myradio) auch dynamisch machen will?
<http://de.selfhtml.org/javascript/objekte/elements.htm@title=Schema vier>
So wie hier:
var inputs = document.forms[formname].elements;
Qapla'
<http://de.selfhtml.org/javascript/objekte/elements.htm@title=Schema vier>
So wie hier:
var inputs = document.forms[formname].elements;
Ich habe schon die Länge, also Anzahl, aller Elemente der Form. Ich möchte aber die Länge, also die Anzahl, aller radio inputs zu der Gruppe "xyz" bekommen, damit ich darüber schleifen kann.
Ich durchschaue es leider noch nicht.
Hat jemand noch eine weitere Hilfestellung?
Cheers,
Baba
Sorry, für die vorschnelle Antwort. Habs nun Dank des Links geschafft.
Es scheint
mit
var form = document.forms[formname];
var elements = form.elements;
gibt
console.log(elements[elements[i].name]);
was anderes zurück als
i=2;
console.log(elements[i]);
Also hatte ich Erfolg mit:
console.log(elements[elements[i].name].length);
Vielen Dank.
Cheers,
Baba