[JavaScript] Checkboxes benaderen vanuit functie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Markuzi
  • Registratie: November 2000
  • Laatst online: 25-02 07:26
Situatie is als volgt. Ik heb een lijst met checkboxen met verschillende namen. Vervolgens wil ik gaan kijken of er 3 uit de lijst checked zijn. Hiervoor gebruik ik de volgende functie:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script type="text/javascript">
    
  function sbmForm() {
  
    var geselecteerd = 0;

    form = document.forms[0];

    for(i=0; i<=form.elements.length; i++) {
      if(form.elements[i].type == 'checkbox') {
        if(form.elements[i].checked == true) {
          geselecteerd++;
        }
      }
    }
    
    if(geselecteerd>3) {
      alert("selecteer er maximaal 3.");
    }
    else if(geselecteerd<3) {
      alert("selecteer er minimaal 3.");
    }
    else {
      form.submit();  
    }
    
    return;
  }
  
</script>


Ik krijg echter steeds de melding dat "form.elements[i].type[...]" leeg of geen object is. Waar ga ik hier de fout in? Werkt form.elements alleen bij checkboxlijsten met dezelfde naam o.i.d.? Heb het gevoel dat dat het verschil is met voorbeelden die ik verder vind.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Heb je al eens gewoon gedebugged? Debuggen: Hoe doe ik dat? Want je maakt me niet wijs dat je dan 't probleem niet vindt.

[ Voor 18% gewijzigd door RobIII op 13-01-2011 15:31 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Text nodes (enters, spaties, enz.) hebben volgens mij geen type.
JavaScript:
1
if (form.elements[i].type && form.elements[i].type == 'checkbox')

...doet vast al meer.

[ Voor 45% gewijzigd door NMe op 13-01-2011 15:34 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
NMe schreef op donderdag 13 januari 2011 @ 15:33:
Text nodes (enters, spaties, enz.) hebben volgens mij geen type.
JavaScript:
1
if (form.elements[i].type && form.elements[i].type == 'checkbox')

...doet vast al meer.
Of je gebruikt gewoon form.getElementsByTagName('input') ofzo :Y)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

RobIII schreef op donderdag 13 januari 2011 @ 15:56:
[...]

Of je gebruikt gewoon form.getElementsByTagName('input') ofzo :Y)
Jup, of de Mootoolsvariant: form.getElements('input[type=checkbox]'). :P Al zou ik Mootools/jQuery/etc. achterwege laten als het een klein projectje is. :+

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Markuzi
  • Registratie: November 2000
  • Laatst online: 25-02 07:26
Dank voor jullie antwoorden. De for-loop loopt 1x te veel en het veranderen van <= naar < heeft het probleem opgelost! Ole :)
Pagina: 1