Avatar billede fuglen Nybegynder
11. februar 2009 - 23:44 Der er 4 kommentarer

Avanceret validering af radiobuttons

Hej.

Jeg har en dynamisk formular, med et ukendt antal radiobuttons, hvoraf et variabelt antal skal være valgt.

Jeg har både et variabelt antal navne og et variabelt antal valgmuligheder... altså:

<input name="a" type=radio value="1">
<input name="a" type=radio value="2">
<input name="a" type=radio value="3">

<input name="b" type=radio value="1">
<input name="b" type=radio value="2">
<input name="b" type=radio value="3">
...osv.

Det jeg skal er at validere, ved hvor mange af navnene der er foretaget et valg, og dette skal jeg gerne få et tal ud af, som så kan afgøre om formularen kan afsendes.

Er der nogen gode forslag?
Avatar billede softspot Forsker
12. februar 2009 - 08:35 #1
Det kunne være noget i stil med dette:

function valider() {
  // find formularen via dens ID
  var frm = document.getElementById("formid");

  // summer alle radiobutton-kontrollers value
  var sum = 0;
  for(var i = 0; i < frm.elements.length; i++) {
    if(frm.elements[i].type == "radio") {
      if(frm.elements[i].checked)
        sum += parseInt(frm.elements[i].value);
    }
  }

  // returner true, hvis summen af de valgte radiobuttons er
  // større end 15, ellers false.
  return (sum > 15);
}

funktionen skal så kaldes i formularens onsubmit-event.
Avatar billede majbom Novice
12. februar 2009 - 08:43 #2
nu læste jeg så forkert, så jeg har lavet noget kode som løber dine radios igennem, når formen ER sendt... skal du oså bruge det?
Avatar billede majbom Novice
04. november 2010 - 11:15 #3
kan vi lukke hér?
Avatar billede softspot Forsker
04. november 2010 - 11:42 #4
Svar (hvis du skal bruge et) ;-)
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