У меня есть ссылка, которая находится внутри элемента управления контентом. Эта ссылка вызывает функцию javascript, которая открывает всплывающее окно с календарем и передает ему преобразованный идентификатор с сервера элемента управления textbox с помощью clientid. Мне нужно иметь возможность щелкнуть дату, закрыть всплывающее окно и вставить дату в текстовое поле идентификатора, который я передал в функцию, которая снова находится внутри элемента управления контентом.
Это ссылка в управлении контентом:
<a title="Pick Date from Calendar" onclick="calendarPicker('form1.<%= txtstart.ClientId %>');" href="javascript:void(0);">
Это JavaScript внутри главной страницы:
<script type="text/javascript">
function calendarPicker(strField) {
var strField = window.open('DatePicker.aspx?field=' + strField, 'calendarPopup', 'width=250,height=190,resizable=yes');
}
Календарь - это элемент управления календаря на своей странице, и это код:
Private Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As DayRenderEventArgs) Handles Calendar1.DayRender
Dim link As New System.Web.UI.HtmlControls.HtmlGenericControl
Dim strLink As String
e.Cell.Controls.Clear()
link.TagName = "a"
link.InnerText = e.Day.DayNumberText
strLink = "JavaScript:window.opener.document." & Request.QueryString("Field") & ".value = '" & e.Day.Date & "'; window.close();"
link.Attributes.Add("href", strLink)
If (e.Day.IsSelected) Then
link.Attributes.Add("style", Calendar1.SelectedDayStyle.ToString())
End If
e.Cell.Controls.Add(link)
End Sub
Я должен также упомянуть ошибку, которую я получаю:
window.opener.document.form1 не определен