2010-03-29 3 views
0

Résolution d'un problème lié à l'affichage de ma datepicker jquery après la publication dans un panneau de mise à jour.Erreur d'exécution de Microsoft JScript: 'ShowDatePicker' est indéfini

La zone de texte (déclencheur) du calendrier est contenue dans un contrôle contenu dans un panneau de mise à jour.

J'ai trouvé un article aider à cette question, et il m'a informé de faire ce qui suit

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim tScript As String = "$(function(){ Sys.WebForms.PageRequestManager.getInstance().add_endRequest(ShowDatePicker); });" 
     Page.ClientScript.RegisterStartupScript(Me.GetType(), "async_" & Me.txtAquisition.ClientID, tScript, True) 

Puis le ascx je

<script type="text/javascript"> 
function showDatePicker(sender, args) { 
    var control = document.getElementById("<%=txtAquisition.ClientID %>") 
    alert(control); 
    $(control).each(function() 
    { 
     $(this).datepicker({ showOn: 'focus' }); 
    }); 
} 
</script> 

mais je reçois une erreur non définie. Est-ce que je m'approche de la bonne façon? Avez-vous d'autres suggestions pour m'assurer que mon outil datepicker reste utilisable dans le panneau de mise à jour? Je pense que cela peut être dû au fait que j'ai les contrôles imbriqués dans un panneau de mise à jour ... plusieurs d'entre eux en fait.

Toute aide à ce sujet est grandement appréciée.

+0

http://stackoverflow.com/questions/301473/rebinding-events-in-jquery-after-ajax-update-updatepanel –

+0

http : //stackoverflow.com/questions/2163246/jquery-ui-datepicker-inside-asp-net-updatepanel –

Répondre

0

Javascript est sensible à la casse, ShowDatePicker! = showDatePicker. Vous devez faire correspondre le cas aux deux endroits.

En outre, vous pouvez raccourcir cette fonction à ceci:

function showDatePicker(sender, args) { 
    $("#<%=txtAquisition.ClientID %>").datepicker({ showOn: 'focus' }); 
} 
Questions connexes