I have a Javascript code that enables/disables all the other checkboxes when the ANY checkbox is unchecked/checked. I tried putting the same code in the onclick event of the reset button but you have to click on it twice for the checkboxes to be disabled. Any idea why this is happening? Thanks!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>reset test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript">
<!--
window.onload = function()
{
var chkAny = document.getElementById('chkAny');
var reset = document.getElementById('rst');
reset.onclick = chkAny.onclick = function()
{
var choices = document.getElementById('checkboxes').getElementsByTagName('input').length;
var i = 1;
if(chkAny.checked == true)
{
for(i=1; i<choices+1; i++)
{
objItem = document.getElementById('chk' + i);
// Disable/Enable the checkbox.
objItem.disabled = true;
// Should the checkbox be disabled?
objItem.checked = false;
}
}
else
{
for(i=1; i<choices+1; i++)
{
objItem = document.getElementById('chk' + i);
objItem.disabled = false;
objItem.checked = false;
}
}
}
}
//-->
</script>
</head>
<body>
<form action="">
<fieldset>
<legend>Checkboxes</legend>
<ul>
<li>
<label for="chkAny">
<input id="chkAny" type="checkbox" value="any" />
Any
</label>
</li>
</ul>
<ul id="checkboxes">
<li>
<label for="chk1">
<input id="chk1" name="choices" type="checkbox" value="1" />
1
</label>
</li>
<li>
<label for="chk2">
<input id="chk2" name="choices" type="checkbox" value="2" />
2
</label>
</li>
<li>
<label for="chk3">
<input id="chk3" name="choices" type="checkbox" value="3" />
3
</label>
</li>
</ul>
</fieldset>
<p>
<input type="reset" id="rst" />
</p>
</form>
</body>
</html>

Help


Back to top









