Solved

add onclick event to disable button when checkboxes are not checked

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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Introduction Got endorsements from your clients?  Great!  There is almost nothing better than word-of-mouth advertising.  But how can you do that on the internet?  Sure you can make a page for endorsement quotations and list them all, but who is …
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

705 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now