By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,385 Members | 1,767 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,385 IT Pros & Developers. It's quick & easy.

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

P: n/a
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("characterCount").innerText = commentTextLength;

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.all" 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="javascript"></script>
<!-- /common head -->
<SCRIPT LANGUAGE="javascript">
<!--
//---------------------------------------------------------
// this function counts up the text in the comment area and
// displays it on the page
//---------------------------------------------------------
function countText()
{
var commentText = document.forms.frmFeedback.commentArea.value;
var commentTextLength = 0;
commentTextLength = commentText.length;
//### marker comment added by OP - see next line ###
document.all("characterCount").innerText = commentTextLength;
if (commentTextLength > 1000)
{
alert('Please limit your comments to 1000 characters.');
document.forms.frmFeedback.commentArea.value =
commentText.substring(0,1000);
countText();
}
return true;
}

--
######################
## PH, London ##
######################
Jul 20 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Roland Hall wrote (in microsoft.public.intexplorer.scripting):
....
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.

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

<td>
<textarea cols="50" rows="5" style="width:420px;"
onKeyUp="countText()" id="commentArea" name="sFeedbackComment"></textarea>
</td>

And the offending line from function CountText():

document.all("characterCount").innerText = commentTextLength;
Should be:
document.all("commentArea").innerText = commentTextLength;

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 ##
######################


Jul 20 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.