Avatar billede showsource Seniormester
06. november 2007 - 09:48 Der er 4 kommentarer og
1 løsning

valider checkbox fejler hvis der kun er en

Hej
har fået bakset dette sammen:

function my_box(formnavn,feltnavn){

var navn = document.forms[formnavn];
var ch = navn.elements[feltnavn];
var antal = ch.length;

    for(i=0;antal>i;i++){
        if(ch[i].checked) {
        return true;
        }
    }

alert('Marker mindst en checkbox for at submitte!');
return false;

}

Virker fint hvis der er to eller flere checkboxe, men fejler ved en checkbox
Så bliver antal sat til undefined.
Hvad er det jeg ikke lige ved?
Avatar billede erikjacobsen Ekspert
06. november 2007 - 09:50 #1
ch bliver ikke et array, hvis der kun er een. Men giver du bare alle checkboxe samme navn?
Avatar billede showsource Seniormester
06. november 2007 - 09:56 #2
del_mess[]
er navnet på alle.
Bruger php til at slette i db ved submit.
Avatar billede showsource Seniormester
06. november 2007 - 10:24 #3
Synes det er lidt underligt at man ikke kan få et array hvis der kun er en?

Men det blev så så'n:

function my_box(formnavn,feltnavn){

var navn = document.forms[formnavn];
var ch = navn.elements[feltnavn];
var antal = ch.length;

  if(antal == undefined) {

    if(ch.checked) {
    return true;
    }

  }else{

    for(i=0;antal>i;i++){
      if(ch[i].checked) {
      return true;
      }
    }

  }

alert('Marker mindst en checkbox for at submitte!');
return false;

}
Avatar billede erikjacobsen Ekspert
06. november 2007 - 10:24 #4
Ok, men så må du tjekke om det er et array, og bruge den kode du, og ellers er der præcis een checkbox i ch. (eller lave det helt om...) Du kan bruge

function isArray(obj) {
  if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
  else
      return true;
}
Avatar billede showsource Seniormester
06. november 2007 - 10:43 #5
Takker for input, og ved du ikke vil ha' point!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester