Solved

add onclick event to disable button when checkboxes are not checked

Posted on 2008-06-26
2
984 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

ASP.NET AJAX callbacks to web service are becoming very popular and unavoidable these days. The feel that the user gets when only a part of the page is updated without even hindering the UI is the advantage that the callbacks offer. The wait for the…
Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.

738 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