Set checkbox status - works in IE but not FF

Discussion in 'Javascript' started by Martin, May 16, 2007.

  1. Martin

    Martin Guest

    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 ?
     
    Martin, May 16, 2007
    #1
    1. Advertisements

  2. Martin

    Erwin Moller Guest


    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
     
    Erwin Moller, May 16, 2007
    #2
    1. Advertisements

  3. Martin

    Martin Guest

    Thanks, Erwin - you're absolutely correct. It works now.
     
    Martin, May 16, 2007
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.