Image

Imagevalera wrote in Imagewebdev

javascript & checkboxes

I have checkbox which, when checked, hides an element on the page, and when unchecked shows it. I'm experiencing two issues with it, though:

1) I'm using the onChange event to catch when the state of the checkbox changes. This works fine in FF, but in IE the event handler only gets executed after I first click on the checkbox and then click outside (so I guess it executes when the checkbox loses focus after it's been clicked). So what should I use to make sure that an event handler gets called when the checkbox is checked/unchecked either by the mouse or the keyboard?

EDIT: Issue 1 is solved by changing the onchange event to onclick, which apparently listens to keyboard events as well...

2) The default state of the element I'm hiding/showing is display:none;. The default value of the checkbox that controls this behavior is checked. I turned off chaching of this page (via PHP), but in FF there's still a problem: if I load the page, uncheck the checkbox (thus changing the state of the hidden element to display: block) and then hit F5 to refresh the page, after the refresh the checkbox stays unchecked but then element goes back to display: none; In IE there's no problem as after the refresh the checkbox goes back to being checked again. So in FF I need to do something after refreshing to either return the checkbox to the default state or to keep the layer visible.

Thanks.