Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Javascript (http://www.velocityreviews.com/forums/f68-javascript.html)
-   -   IE SP2 solution for "null is null or not an object" and "broken" insertCell/insertRow (http://www.velocityreviews.com/forums/t917401-ie-sp2-solution-for-null-is-null-or-not-an-object-and-broken-insertcell-insertrow.html)

putty 04-05-2005 07:02 PM

IE SP2 solution for "null is null or not an object" and "broken" insertCell/insertRow
 
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


putty 04-05-2005 07:11 PM

Re: IE SP2 solution for "null is null or not an object" and "broken" insertCell/insertRow
 
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().



All times are GMT. The time now is 04:59 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.