JavaScript - IE6 (SP1) throws errors on Microsoft's own page!

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Philip Herlihy

    JavaScript - IE6 (SP1) throws errors on Microsoft's own page!

    I get more JS errors than I'd expect, on a wide range of sites. (It's
    possible I only know this because the Debug is set on).

    I found an error on a Microsoft site, and decided to investigate. I traced
    it to this line:
    document.all("c haracterCount") .innerText = commentTextLeng th;

    This is on a page deep inside a secure ordering sequence, so it's probably
    not
    worth copying the URL here.

    According to my crib-sheet, "document.a ll" is only valid in the javascript
    of IE4 and later. My browser is IE6 (SP1) which qualifies, but the
    javascript I have doesn't like it. I also have other browsers and
    Frontpage 2002 installed.

    Any ideas? I do seem to see a lot of javascript errors, and not just my
    own!

    Here are the first lines of Javascript on the page, including the offending
    line, marked with an added comment (//###....) on the line before:

    ------------------------------------

    script src="/OMLibrary/script/functionsICS.js "
    language="javas cript"></script>
    <!-- /common head -->
    <SCRIPT LANGUAGE="javas cript">
    <!--
    //---------------------------------------------------------
    // this function counts up the text in the comment area and
    // displays it on the page
    //---------------------------------------------------------
    function countText()
    {
    var commentText = document.forms. frmFeedback.com mentArea.value;
    var commentTextLeng th = 0;
    commentTextLeng th = commentText.len gth;
    //### marker comment added by OP - see next line ###
    document.all("c haracterCount") .innerText = commentTextLeng th;
    if (commentTextLen gth > 1000)
    {
    alert('Please limit your comments to 1000 characters.');
    document.forms. frmFeedback.com mentArea.value =
    commentText.sub string(0,1000);
    countText();
    }
    return true;
    }

    --
    ############### #######
    ## PH, London ##
    ############### #######


  • Philip Herlihy

    #2
    Re: JavaScript - IE6 (SP1) throws errors on Microsoft's own page! [found it]

    Roland Hall wrote (in microsoft.publi c.intexplorer.s cripting):
    ....[color=blue]
    > The reason is document.all is trying to reference the element by ID,
    > not name. So, to make it work, you need to add an ID to the SPAN.[/color]


    That's it! Here's the original form code:

    <td>
    <textarea cols="50" rows="5" style="width:42 0px;"
    onKeyUp="countT ext()" id="commentArea " name="sFeedback Comment"></textarea>
    </td>

    And the offending line from function CountText():

    document.all("c haracterCount") .innerText = commentTextLeng th;
    Should be:
    document.all("c ommentArea").in nerText = commentTextLeng th;

    The error was "document.all(" ...") is null or not an object. So it's just a
    programming error, not something wrong with my setup.

    --
    ############### #######
    ## PH, London ##
    ############### #######




    Comment

    Working...