Avatar billede weiland Nybegynder
07. oktober 2006 - 15:39 Der er 4 kommentarer og
1 løsning

alle checkboxe skal enables ved onsubmit

Jeg har en række checkbokse, hvoraf nogen er checked, andre ikke.
Og nogen af de checked er DISABLED - brugeren kan altså ikke fjerne fluebenet.

Men når en checkbox er disabled, kommer værdien ikke med, når formen afsendes. Det vil jeg gerne ændre på.
Jeg har tænkt, at en javascript-funktion kunne sige noget i retning af "document.MyForm.checkboxes.disabled=false" i formens onsubmit.

Er det muligt?
Avatar billede mclemens Nybegynder
07. oktober 2006 - 16:01 #1
Ja det er muligt ... men:
[ Men når en checkbox er disabled, kommer værdien ikke med, når formen afsendes. ]
... En værdi fra en checkbox kommer kun med når den er
checked - ikke fordi at den er enabled ...


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function enabchks(f){
  chks=f.getElementsByTagName("input");
  for(i=0,i2=chks.length;i<i2;i++)if(chks[i].type=="checkbox")chks[i].disabled=false;
  alert("Læg mærke til at det kun er sidste input \- d=4 der videresendes også selvom alle er enabled og b=2 ikke er disabled fra start af...");
  return true;
}
</script>

</head><body>
<form action="test.html" method="get" onsubmit="return enabchks(this);">
<input type="checkbox" name="a" value="1" disabled="disabled">
<input type="checkbox" name="b" value="2">
<input type="checkbox" name="c" value="3" disabled="disabled">
<input type="checkbox" name="d" value="4" checked="checked">

<input type="submit" value="ok">

</body></html>
Avatar billede mclemens Nybegynder
07. oktober 2006 - 16:04 #2
Men kig evt. på denne ;)


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function enabchks(f){

  chks=f.getElementsByTagName("input");

  for(i=0,i2=chks.length;i<i2;i++){
    if(chks[i].type=="checkbox"&&chks[i].disabled){
      chks[i].value="disabled"
      chks[i].disabled=false;
      chks[i].checked=true;
    }
  }

  return true;

}
</script>

</head><body>
<form action="test.html" method="get" onsubmit="return enabchks(this);">
<input type="checkbox" name="a" value="1" disabled="disabled">
<input type="checkbox" name="b" value="2">
<input type="checkbox" name="c" value="3" disabled="disabled">
<input type="checkbox" name="d" value="4" checked="checked">

<input type="submit" value="ok">

</body></html>
Avatar billede mclemens Nybegynder
07. oktober 2006 - 16:07 #3
Hov, min fejl :D

[ Jeg har en række checkbokse, hvoraf nogen er checked, andre ikke.
Og nogen af de checked er DISABLED - brugeren kan altså ikke fjerne fluebenet. ]

Eksemplet i 16:01:25 bør virke fint nok, når de er checked fra start af :)
(alert'en skal dog lige slettes :) )

eksempel:



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function enabchks(f){
  chks=f.getElementsByTagName("input");
  for(i=0,i2=chks.length;i<i2;i++)if(chks[i].type=="checkbox")chks[i].disabled=false;
  return true;
}
</script>

</head><body>
<form action="test.html" method="get" onsubmit="return enabchks(this);">
<input type="checkbox" name="a" value="1" checked="checked" disabled="disabled">
<input type="checkbox" name="b" value="2">
<input type="checkbox" name="c" value="3" checked="checked" disabled="disabled">
<input type="checkbox" name="d" value="4" checked="checked" disabled="disabled">

<input type="submit" value="ok">

</body></html>
Avatar billede weiland Nybegynder
07. oktober 2006 - 16:23 #4
Det virker perfekt. Tusind tak for hjælpen! :-)
Avatar billede mclemens Nybegynder
07. oktober 2006 - 16:29 #5
Velbekom, og tak for 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