Beiträge von Sierd

    Weil bei einem Element das Element selbst zurückgegeben wird. Und dazu steht kein length zur Verfügung.

    Nutze lieber querySelectorAll(), das liefert immer eine Collection:

    Code
    1. document.querySelector( '[name="Form1"]' ).querySelectorAll( '[type="checkbox"]' ).length;

    Das funktioniert, danke, aber jetzt meldet

    Code
    1. Anzahl=document.querySelector('[name="Form1"]').querySelectorAll('[type="checkbox"]').length;
    2. for (i=0; i<Anzahl; i++) {
    3. if (document.Form1['Wahl'][i].checked == true) {
    4. Parameter=Parameter+"|"+document.Form1['Wahl'][i].value;
    5. }
    6. }

    ein document.Form1.Wahl[i] is undefined, wenn nur eine Checkbox in der Form ist. Bei mehreren ist alles ok.


    Stephan

    Hallo,


    in einer Form habe ich eine unterschiedliche Anzahl Checkboxen:

    Code
    1. <form name="Form1">
    2. <input type="checkbox" name="Wahl" value="4179038">
    3. <input type="checkbox" name="Wahl" value="2345676">
    4. ......
    5. <p><a href="javascript:box_aufrufen();"><img src="grafik\irgendwas.gif"></a></p>
    6. </form>

    Die Anzahl der Checkboxen lese ich so aus:

    Code
    1. <script type="text/javascript">
    2. function box_aufrufen(dummy) {
    3. ...
    4. alert("wie viel "+document.Form1['Wahl'].length);
    5. ...
    6. }
    7. </script>

    Aber sobald nur eine Checkbox in der Form ist, melden document.Form1['Wahl'].length oder auch document.Form1.Wahl.length immer ein undefined.

    Sobald mehrere Checkboxen da sind, wird die korrekte Anzahl ausgegeben.

    Was mache ich falsch?


    Stephan