Hallo zusammen,
ich möchte in einem Formular Checkboxen auslesen, kenne aber deren Anzahl nicht, da das Formular dynamisch generiert wurde.
Beim Suchen im Forum habe ich einige Hinweise bekommen und damit auch Erfolg gehabt - allerdings nur, wenn mehrere Boxen vorhanden sind.
Ist nur eine einzige Box vorhanden, dann kann ich die Anzahl nicht mehr ermitteln.
Ich habe nun durch einiges Ausprobieren einen Weg gefunden, wie ich das trotzdem hinbekomme, aber ich bin sicher, es gibt einen eleganteren Weg.
Vielleicht kann mir jemand die geeigneten Tips geben ... Vielen Dank schon mal im Voraus!
Hier ist der abgestrippte Code, so wie er gerade funktioniert:
Wenn man die zweite checkbox rauslöscht kommt man genau auf den kritischen Punkt.
<HTML><HEAD></HEAD>
<body>
<form name=Formular>
<INPUT id=Loeschen type=button onclick="IDTransmit('Zieladresse')" value='Abfragen' tabindex=1000>
<input type='checkbox' name='Row' value='1'>
<input type='checkbox' name='Row' value='2'>
</form></body>
<script type="text/JavaScript">
function IDTransmit()
{
boxen=new Array;
Anzahl = document.Formular.Row.length
alert ('Anzahl der checkboxen = '+Anzahl);
// Falls mehrere Checkboxen dargestellt werden, dann bekomme ich eine vernünftige Anzahl.
// Falls aber nur eine dargestellt ist, dann ist Anzahl undefiniert und man kann Row nicht als Array behandeln.
if (typeof Anzahl == 'undefined') // Nur eine Checkbox dargestellt!
{
if(document.Formular.Row.checked) { boxen.push(document.Formular.Row.value); }
}
else
{
for(i=0; i<Anzahl; i++)
{
if(document.Formular.Row[i].checked) { boxen.push(document.Formular.Row[i].value); }
}
}
Ergebnis=boxen.join("_");
alert ('Values der angeklickten checkboxen lauten: '+Ergebnis);
}
</script>
</BODY>
</HTML>