Christian S.: Radiobutton abwählen/demarkieren/unchecken

Beitrag lesen

Hi,

<script type="text/javascript">
var klick = 0;
var radiotype =0;
function uncheck(radio){
  if (radiotype == radio){
   klick = klick + 1;
   if (klick % 2 == 0) {
    radio.checked = false;
   } else
    radio.checked = true;
  }else{
   radiotype = radio;
  }
}
</script>
</head>

<body>
<form>
<input type="radio" name="radio" id="radio1" onclick="javascript:uncheck(radio1)">
<input type="radio" name="radio" id="radio2" onclick="javascript:uncheck(radio2)">
</form>
</body>
</html>

hm, das geht doch auch viel einfacher:

function uncheck(r)
{
   if(typeof(r.c) == "undefined") r.c = r.checked;
   r.c = !r.c;
   r.checked = !r.c;
}
</script>

<input type="radio" onclick="uncheck(this)">

musste da auch kurz rumprobieren. FF und IE verhalten sich ohne das r.c sondern stattdessen r.checked = !r.checked unterschiedlich.

Außerdem funktioniert deine Lösung bei mir auch erst beim zweiten Klick.

Gruß
Christian