Всплывающее окно должно ссылаться на текстовое поле в элементе управления контентом - PullRequest
0 голосов
/ 10 сентября 2010

У меня есть ссылка, которая находится внутри элемента управления контентом. Эта ссылка вызывает функцию 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 не определен

1 Ответ

0 голосов
/ 10 сентября 2010

не используйте document.form1.используйте document.getElementById(strField).вам также нужно будет позвонить на calendarPicker.calendarPicker('<%= txtstart.ClientId %>');

не помещайте javascript в свойство href.используйте link.Attributes.Add("onclick", strLink)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...