Connecting Tech Pros Worldwide Help | Site Map

Set checkbox status - works in IE but not FF

  #1  
Old May 16th, 2007, 04:55 PM
Martin
Guest
 
Posts: n/a
At the top of a page I'm displaying a check box thus:

<input type='checkbox' name='ckbx1' onClick='saveStatus("ckbx1");'>ABC

I then execute the following to set the check box to whatever it was
the last time it was changed:

<script type='text/javascript'>
document.getElementById('ckbx1').checked = getCookie('ckbx1');
</script>

This seems to work ok in IE6 but in Firefox a "...has no properties"
error is generated when the script executes. The same error is
generated when I click on the check box.

What I'm doing wrong ?
  #2  
Old May 16th, 2007, 05:15 PM
Erwin Moller
Guest
 
Posts: n/a

re: Set checkbox status - works in IE but not FF


Martin wrote:
Quote:
At the top of a page I'm displaying a check box thus:
>
<input type='checkbox' name='ckbx1' onClick='saveStatus("ckbx1");'>ABC
>
I then execute the following to set the check box to whatever it was
the last time it was changed:
>
<script type='text/javascript'>
document.getElementById('ckbx1').checked = getCookie('ckbx1');
</script>
>
This seems to work ok in IE6 but in Firefox a "...has no properties"
error is generated when the script executes. The same error is
generated when I click on the check box.
>
What I'm doing wrong ?

Hi,

What is wrong is simply that you use getElementById(), but didn't assign an
id to the checkbox.
You only named it. Names are for formelements (name/value-pairs) so the
receiving script can use them.
ids are for JS.

Solution: add the id to the box.

The reason IE does it 'right' is because IE does it wrong, and confuses name
with id.

Regards,
Erwin Moller
  #3  
Old May 16th, 2007, 08:15 PM
Martin
Guest
 
Posts: n/a

re: Set checkbox status - works in IE but not FF


On Wed, 16 May 2007 18:13:38 +0200, Erwin Moller
<since_humans_read_this_I_am_spammed_too_much@spam yourself.comwrote:

Quote:
>Hi,
>
>What is wrong is simply that you use getElementById(), but didn't assign an
>id to the checkbox.
>You only named it. Names are for formelements (name/value-pairs) so the
>receiving script can use them.
>ids are for JS.
>
>Solution: add the id to the box.
>
>The reason IE does it 'right' is because IE does it wrong, and confuses name
>with id.
>
>Regards,
>Erwin Moller
Thanks, Erwin - you're absolutely correct. It works now.


Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
focus on the new window.open window Csaba Gabor answers 4 December 1st, 2005 04:15 PM