Solved

add onclick event to disable button when checkboxes are not checked

Posted on 2008-06-26
2
986 Views
Last Modified: 2008-06-27
Hi all,

I have a table that contains a list of checkboxes.

i need to create a function in JAVASCRIPT that will do the following:
 say i have 10 checkboxes .. one on each table row.
if a  user unchecks all of the check boxes i need to set disable=true to  button1
if all the check boxes are not unchecked then i need to set disable = false to button1

thanks
0
Comment
Question by:joan2006
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 82

Accepted Solution

by:
hielo earned 500 total points
ID: 21879742
Save this as test.html and try it.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
 
<html>
<head>
<title></title>
<script type="text/javascript">
function process( o )
{
	var sib = document.getElementsByTagName(o.tagName);
	var checked=0;
	for( var i=0; i < sib.length; ++i)
	{
		if( sib[i].name==o.name && sib[i].checked==true )
		{
			++checked;
		}
	}
 
	if( checked==(sib.length-1) )
	{
		document.getElementById("theButtonID").disabled=false;
	}
	else
	{
		document.getElementById("theButtonID").disabled=true;
	}
return true;
}
</script>
</head>
<body>
<table summary="">
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="checkbox" name="theCheckbox" onclick="process(this)" /></td></tr>
<tr><td><input type="button" name="theButton" id="theButtonID" value="Test" disabled="disabled" /></td></tr>
</table>
</body>
</html>

Open in new window

0
 
LVL 8

Expert Comment

by:newbie27
ID: 21885744
Hello Hielo,
You probably trying to ignore me and my posts otherwise all my problems would have resolved by now, Please Hielo, if anything said or done wrong please forgive and please please help me ! i know you been busy helping others as well but I would be very grateful to you HIELO for your help on the List Manager project I am working on, I need your help and advice
Please help HIELO.
Thanks
S
0

Featured Post

Ready to get started with anonymous questions?

It's easy! Check out this step-by-step guide for asking an anonymous question on Experts Exchange.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today I am discussing AJAX problems in IE7 and I bet this will helps many guys out here who have problems with AJAX work. Lets start with the discovery of problem and then we will talk about its different solutions. My last two projects included …
This article discusses how to implement server side field validation and display customized error messages to the client.
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question