Toon posts:

[JavaScript] Radiobuttons tellen ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb hetvolgende script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        var a = 0;
        for (i=0, n=productform.selected_fld.length; i<n; i++) 
        {
           if (productform.selected_fld[i].checked) 
           {
             a = 1;
             break;
           }
        }
        if (a == 0)
        {
            alert("Geen product geselecteerd!"); return false; exit;
        }else
        {
            if(!confirm("Weet u zeker dat u dit product wilt verwijderen?")){return false;}else{return true;}
        }


Als er 2 of meer radiobuttons zijn telt hij ze goed. Is er maar 1 radiobutton, telt hij deze niet. Als je alert(n) zou doen krijg je ook undefined.

Errug vaag....

Had al gezocht, waren wel onderwerpen over maar niet over dit probleem. Kan het ook nergens anders terug vinden.

Het moet toch gewoon mogelijk zijn om het aantal radio's te tellen en na te lopen of die gechecked is, ook al is dit er maar 1tje?!

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:10

https://fgheysels.github.io/


  • smoking2000
  • Registratie: September 2001
  • Laatst online: 04:05

smoking2000

DPC-Crew

dpkg-reconfigure reality

for (i=0, n=productform.selected_fld.length; i<=n; i++)

i is kleiner of gelijk aan n

[ Voor 3% gewijzigd door smoking2000 op 10-01-2003 14:51 ]

| [Folding@Home] Announce: Client monitor voor Linux (fci) | fci-1.8.4 | Fatal Error Group |


Verwijderd

Topicstarter
smoking2000 schreef op 10 januari 2003 @ 14:50:
for (i=0, n=productform.selected_fld.length; i<=n; i++)

i is kleiner of gelijk aan n
Huh?! Tuurlijk niet.... dan kom je buiten het aantal? je start op 0 met tellen...

maar igg.. dat werkt wel... Ik zeg al met 2 of meer telt hij ze goed... alleen met 1tje gaat het verkeerd...

Verwijderd

Het is een bekend probleem. Als er 1 radio is, dan heb je geen array. Ik gebruik de volgende constructie:
code:
1
2
3
4
5
6
7
8
9
10
11
var a = 0;
var radio=productform.selected_fld;
if(typeof radio.length=='undefined') radio=[radio]; //maak er een array van
for (i=0; i<radio.length; i++) 
{
  if(radio[i].checked) 
  {
    a = 1;
    break;
  }
}