J'ai un lien qui se trouve dans un contrôle de contenu. Ce lien appelle une fonction javascript qui ouvre une fenêtre contextuelle contenant un calendrier et lui transmet l'identifiant transformé du serveur d'un contrôle de zone de texte à l'aide de clientid. Je dois être capable de cliquer sur une date et faire fermer la fenêtre et insérer la date dans la zone de texte de l'identifiant que j'ai passé dans la fonction qui, encore une fois, se trouve dans le contrôle de contenu.Popup doit renvoyer à la zone de texte dans un contrôle de contenu
C'est le lien dans le contrôle du contenu:
<a title="Pick Date from Calendar" onclick="calendarPicker('form1.<%= txtstart.ClientId %>');" href="javascript:void(0);">
Ceci est le javascript dans le masterpage:
<script type="text/javascript">
function calendarPicker(strField) {
var strField = window.open('DatePicker.aspx?field=' + strField, 'calendarPopup', 'width=250,height=190,resizable=yes');
}
Le calendrier est un contrôle de calendrier à l'intérieur de sa propre page et ceci est le codebehind:
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
Je dois aussi mentionner l'erreur que je reçois est:
window.opener.document.form1 est indéfini
Quelle est votre question? –
Je reçois une erreur javascript et ne renvoie pas à la fenêtre d'origine et la valeur de la zone de texte à la valeur de la date –