Sabine: Ein Wert im Array = kein Array?

Beitrag lesen

Hallöchen!

Wie ihr wahrscheinlich gleich an meiner Frage bemerkt, gehöre ich nicht wirklich zu den Profis in Javascript, bin aber dabei es mir so langsam anzueignen.

Nun habe ich heute mit einigen Hilfen aus dem Archiv folgendes gezaubert:

Der Javascriptteil:

var emails=new Array()
var j=0;
d=document.forms[0].elements['mail[]'];
for(i=0;i<d.length;i++){
if(d[i].checked)
{emails[j]="ja_"+document.forms[0].elements['mail[]'][j].value;}
else
{emails[j]="ne_"+document.forms[0].elements['mail[]'][j].value;}
j++;}

und im HTML-Teil habe ich einige Checkboxen mit der Syntax
<input type=checkbox name="mail[]" value="$email">
.
.
.

Nun soll folgendes passieren: An erster Stelle habe ich ein Select-Field - je nachdem was hier ausgewählt wird, werden dann 1 bis x E-mail-Adressen mit der oben angeführten Checkbox ausgegeben. Dann habe ich noch die Möglichkeit des Speicherns auf der Seite - wenn ich speichere wird der oben angeführte Javascript-Teil abgearbeitet, die Variable emails an den Url angehängt und dann gehts weiter zu einem PHP-Teil, der die emails speichert.

So weit so gut - das klappt alles wunderbar. Mein Problem tritt auf wenn ich nur eine Checkbox habe, denn dann passiert gar nichts. Kann es sein, dass Javascript dann kein Array anlegt, weil ich nur einen Wert drinnen habe?
Ich habe schon auf verschiedenste Arten versucht, den Value der Checkbox testweise auszugeben wenn eben nur eine Checkbox da ist, alles vergeblich.
z.B. liefert mir document.write(document.forms[0].elements['mail[]'][0].value); als Ergebnis: eben dieses sei kein Objekt oder Null.

Weiß jemand wo ich hier einen Fehler habe oder wie ich dafür sorgen kann, dass obiges Javascript auch arbeitet, wenn es nur eine Checkbox gibt?

Herzlichen Dank im Voraus!
Schöne Grüße
Sabine