Avatar billede wolfgang Praktikant
01. september 2003 - 11:00 Der er 3 kommentarer og
1 løsning

Validering af Checkbox - dynamisk.

Hej med jer,

Jeg har et spørgsmål vedr. validering af en række dynamiske checkboxe der skrives ud i en form.

Disse checkbox bliver listet ud fra indholdet i tabel i min DB. Dvs. at antallet af checkboxe kan variere.

Mit mål er at lave en validering, således at man ikke kan afvikle/klikke på et en formknap, med et OnClick link, hvis ingen at de udskrevne checkboxe er krydset af.

Jeg håber der er nogen "Eksperter" derude, der kender til en løsning på ovenstående.


På forhånd tak

Wolfgang
Avatar billede wolfgang Praktikant
01. september 2003 - 11:05 #1
Kan man med fordel, sørge for at alle checkboxene er i samme group og der ved "nøjes" med at tjeckke om gruppen >= 1 checked ?

Håber der er nogen Hajer.

MVH
Wolfgang
Avatar billede mfla Nybegynder
01. september 2003 - 13:37 #2
Hvis alle INPUT felterne har samme NAME eller ID, så kan du bruge følgende:

var objInputs =document.all("<name eller id som er ens for alle input felter>");
if(typeof(objInputs.length) =="undefined") {
  //Der er kun et input felt
  //objInputs er nu en direkte reference til dit inputfelt
  //Brug objInputs.checked til at tjekke om den er markeret
}
else {
  //Der er flere input felter - der må loopes :-)
  for(var i =0; i <objInputs.length; i++) {
      //Tjek dine inputfelter
      //Brug objInputs[i].checked
  }
}
Avatar billede roenving Novice
02. september 2003 - 01:11 #3
<script language="javascript" type="text/javascript">
function checkChecks(){
  var c = document.getElementsByTagName("INPUT");
  for(i=0;c.length>i;i++){
    if(c[i].type=='checkbox'&&c[i].checked)return true;
  }
  return false;
}
</script>

<form ... onsubmit="return checkChecks()">

-- ren indskrivning og ikke testet (her !-) -- samme øvelse har jeg lavet i andre sammenhænge !o]

-- den virker helt uden problemer i en test !-)

Hvis du vil begrænse til at checket kun skal gælde formen, kan du:

<form ... onsubmit="return checkChecks(this)">

og de to første linjer i scriptet:
function checkChecks(f){
  var c = f.getElementsByTagName("INPUT");

Velbekomme '-)
Avatar billede roenving Novice
22. september 2003 - 13:24 #4
-- og tak for points ;~}
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