Connecting Tech Pros Worldwide Forums | Help | Site Map

Set checkbox status - works in IE but not FF

Martin
Guest
 
Posts: n/a
#1: May 16 '07
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 ?

Erwin Moller
Guest
 
Posts: n/a
#2: May 16 '07

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
Martin
Guest
 
Posts: n/a
#3: May 16 '07

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 JavaScript / Ajax / DHTML bytes