droom: document.formular.produkt.length wird nicht erkannt

<form name="formular" action="" method="get">
<input type="checkbox" name="produkt" value="Pro1">Pro1<br>
<input type="checkbox" name="produkt" value="Pro2">Pro2<br>
<input type="checkbox" name="produkt" value="Pro3">Pro3<br>
</form>

und per JS möchte ich nun wissen, wie viele Checkboxen mein Formular hat, damit ich die for-schleife durchlaufen kann:

var sel= document.formular.produkt;
 alert("Laenge ist "+sel.length);
 for (i = 0; i < sel.length; i++)
 {
  if (document.formular.produkt[i].checked == true){
   _params += document.formular.produkt[i].value+",";

}
 }

Wenn mein Formular aus mehreren Checkboxen besteht, dann wird die Länge richtig im Alert ausgegeben. Wenn ich aber nur ein Element, dann gibt mir das Alert "undefined" anstatt "1".
Sieht jd das Problem?

  1. Hi,

    Wenn mein Formular aus mehreren Checkboxen besteht, dann wird die Länge richtig im Alert ausgegeben. Wenn ich aber nur ein Element, dann gibt mir das Alert "undefined" anstatt "1".

    ein Element ist keine Collection, d.h. document.formular.produkt referenziert bereits das Eingabefeld. Dieses verfügt über keine length-Eigenschaft und auch über keinen Index 0.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Yerf!

    Wenn mein Formular aus mehreren Checkboxen besteht, dann wird die Länge richtig im Alert ausgegeben. Wenn ich aber nur ein Element, dann gibt mir das Alert "undefined" anstatt "1".
    Sieht jd das Problem?

    Bei nur einer Checkbox ist document.formular.produkt kein Array, sondern direkt die eine Checkbox. Diesen Fall musst du abfragen und gesondert behandeln. Hatten wir hier im Forum schon öfter, d.h. im Archiv müsstest du mehr dazu finden können.

    Gruß,

    Harlequin

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->