Javascript error: 'window.top.document.getElementById (...)' is null or not an object

I get a javascript error when I try to click a calendar control.

Html code:

<td align="left" style="width:50%;"><asp:Label runat="server" CssClass="TextFontBold" ID="lblStartDate" Text="Start Date:"></asp:Label> <input type="text" class="TextBox" id="FromDate" runat="server"/><a href="javascript:ShowCalendar('FromDate1')"><img src="images/Calendar.png" border="0" /></a> <iframe src="Calendar.aspx?DateTextID=FromDate" style="display:none; top: 0px; left: 0px; width:245px; height:164px" frameborder="0" scrolling="no" name="FromDate1" id="FromDate1"></iframe>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<asp:Label runat="server" CssClass="TextFontBold" ID="lblPromoStartTime" Text="Start Time:"></asp:Label> </td> 

When I click on a date in a calendar control, this code is executed by code:

 Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged Dim strjscript As String = "<script language=""javascript"" type=""text/javascript"">" strjscript &= "window.top.document.getElementById('" & HttpContext.Current.Request.QueryString("DateTextID") & "').value = '" & Calendar1.SelectedDate & "';" strjscript &= "window.top.document.getElementById('" & HttpContext.Current.Request.QueryString("DateTextID") & "1').style.display = 'none';" strjscript = strjscript & "</script" & ">" Literal1.Text = strjscript End Sub 

The error I get is 'window.top.document.getElementById (...)' is null or not an object

I have an object called FromDate.
What else could cause this error?

+6
source share
2 answers

Try window.parent.document.getElementById() instead of window.top.document.getElementById()

+6
source

Have you tried parent.document.getElementById(...) ? Just an idea ...

Edited as suggested by pimvdb

+2
source

Source: https://habr.com/ru/post/896917/


All Articles