views:

68

answers:

2

I would like the button on my web page to toggle the visibility of my two check-boxes.

How do I go about implementing such functionality?

<html>
<head>
<script language=javascript>
function validate(chk){
  if (chk.style.visibility == 'visible')
    chk.style.visibility = 'hidden';
  else
    chk.style.visibility = 'visible';
}
</script>
</head>
<body>
<form><span id=t style.visibility="visible" >
<input type=checkbox name=chk1>Please Check Me</span>
<input type=checkbox name=chk1>Please Check Me</span>
<p><input type=button value="check" onclick="return validate(t);">
</form>
</body>
</html>
+1  A: 

It's a good practice to keep your javascript and CSS out of your HTML.

<span id="t">
  <input type="text" />
  <input type="text" />
</span>
<button id="toggler">Toggle</button>

For the Javascript, we look up the two elements via their ID. We then attach some logic to the onclick method of the button itself. This logic checks the present value of the display style on the span element. If it's visible, we hide it. If it's hidden, we show it.

document.getElementById("toggler").onclick = function(){
 var s = document.getElementById("t");
 (s.style.display == "none") ? s.style.display = "" : s.style.display = "none";
};​

Online Demo: http://jsbin.com/iyiki/2/edit

Jonathan Sampson
+1  A: 

You're not giving any object to the function. Quick fix:

return validate(document.getElementById('t'));

also this html is wrong. It should be:

<span id="t" style="visibility:visible" >
marcgg