I have a <script> that contains this line:
var tbl = document.getElementById("<%= this.tblSelection.ClientID %>");
… but tbl always ends up being set to null.
The table is declared like this:
<asp:Table ID="tblSelection" runat="server" CellPadding="2" CellSpacing="0"
cols="1" style="position: absolute; top: 0%; right: 0%">
Both the script and the table are in the same master page file.
What could be causing this?
EDIT: I should mention that this script is executed on onload
I am guessing your JavaScript code is executing before your browser has a chance to fully render the table. At this point, the DOM of the page will not be complete and the
getElementByIDfunction will not be able to find the table because it doesn’t exist yet!Do this experiment:
This will show you “null” when your page first loads. If you add a button to call this method again, however, you’ll see that
tblgets populated.