HighDots Forums  

IE SP2 solution for "null is null or not an object" and "broken" insertCell/insertRow

Javascript JavaScript language (comp.lang.javascript)


Discuss IE SP2 solution for "null is null or not an object" and "broken" insertCell/insertRow in the Javascript forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
putty
 
Posts: n/a

Default IE SP2 solution for "null is null or not an object" and "broken" insertCell/insertRow - 04-05-2005 , 03:02 PM






I found a few posts of people asking about insertCell()/insertRow() not
working in IE6 SP2, and a few others about getting "null is null or not
an object" errors, but no one posted a solution anywhere or noted this
tiny yet curious change in SP2.. so here it is:

In IE6 SP2 rows must be inserted into a tBody instead of a Table
directly, after that you may insert TDs into TRs any way you wish.
insertRow() and insertCell() work the same as always; the underlying
problem simply emanated from the fact that people were adding TRs to
Tables instead of their tBodies. I guess IE6 SP2 is less forgiving than
SP1?

The following will not work in IE6 SP2 but will work in Firefox and IE6
SP1:
-- code --
var Table = document.createElement( "Table" );

var Row = Table.insertRow(-1);
var Cell1 = Row.insertCell(-1);
var Cell2 = Row.insertCell(-1);
-- code --

The following will work in Firefox, IE6 SP1, and IE6 SP2:
-- code --
var Table = document.createElement( "Table" );
var tBody = document.createElement( "tBody" );
Table.appendChild( tBody );

var Row = tBody.insertRow(-1);
var Cell1 = Row.insertCell(-1);
var Cell2 = Row.insertCell(-1);
-- code --

The error several IE6 SP2 clients saw when running the non-working code
was "null is null or not an object."

Hope this helps someone.
-- putty


Reply With Quote
  #2  
Old   
putty
 
Posts: n/a

Default Re: IE SP2 solution for "null is null or not an object" and "broken" insertCell/insertRow - 04-05-2005 , 03:11 PM






This is specifically a problem when building tables manually.. where
tBodies might not be automatically created for you upon doing
insertRow() on a Table object.

I don't have SP2 here so I could not double check the "non-working"
code sample -- I'm beginning to think that it might work in SP2 given
no tBodies deletion was conducted before running insertRow().


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.