2011-10-17 3 views
0

J'ai une application web ASP.Net 4.0 qui a un couple de Jpuilder Datepickers. Le programme datepicker fonctionne correctement lorsque la page est chargée et que la zone de texte associée est visible. (Voir la capture d'écran ci-jointe) Cependant, le problème survient lorsque la zone de texte n'est pas visible lors du premier chargement de la page. Quand une publication se produit et que la zone de texte est visible après la publication, l'outil datepicker s'affiche comme il se doit. Cependant, le CSS est tout foiré dessus. (Voir la capture d'écran ci-joint) C'est sur IE 7 seulement - IE8 et IE9 fonctionnent très bien.JQuery Datepicker ASP.NET IE7 problème d'affichage après la publication

Voici le code pour initialiser le datepicker:

function pageLoad() { 
      $('#<%= dtPolExpDate.ClientID %>').unbind(); 
      $('#<%= dtPolExpDate.ClientID %>').datepicker({ 
       buttonImage: '../../Common/images/calendar.gif', 
       buttonImageOnly: true, 
       showOn: 'both', 
       changeMonth: true, 
       changeYear: true, 
       showButtonPanel: true, 
       closeText: 'Close' 
      }); 

Quand je regardais à la source, les fichiers CSS sont correctement chargés et sont donc les fichiers javascript pour JQuery. Je pensais que c'était quelque chose avec les pages maîtres, j'ai donc créé une page ASPX très simple - elle a le même problème aussi. Une fois que je clique sur le bouton pour afficher le panneau avec la zone de texte associée à datepicker, le programme datepicker est foiré. Tout le contenu de la page est un panneau imbriqué avec le panneau le plus haut ayant un simple bouton qui, lorsqu'on clique dessus, affiche le panneau inférieur avec le sélecteur de date. Je ne peux pas attacher ce fichier aspx ici, mais si nécessaire, je peux prendre une capture d'écran du code et le télécharger ici.

Modifier: Attaché sont tous les related images:

  1. Le code de test
  2. DatePicker avant postback (qui est déjà visible avant le bouton)
  3. DatePicker après la publication (différent datepicker qui est devenu visible après le clic du bouton)

    Aidez-nous!

+0

Avez-vous la page de test quelque part? Cela aiderait à comprendre ce qui se passe avec le css après PostBack – TeckniX

+0

Que voulez-vous dire par «non visible»? 'visibility: hidden' ou' display: none'? –

+0

@TeckniX - Je ne peux héberger la page nulle part car je n'ai pas de fournisseur d'hébergement ASP.NET et mon client ne me laisse pas héberger la page sur leurs serveurs. – APK

Répondre

-1

Qu'est-ce que pageLoad()?

Quoi qu'il en soit, utilisez $(document).ready() par exemple.

$(document).ready(function(){ 
    $('#<%= dtPolExpDate.ClientID %>').unbind(); 
    $('#<%= dtPolExpDate.ClientID %>').datepicker({ 
     buttonImage: '../../Common/images/calendar.gif', 
     buttonImageOnly: true, 
     showOn: 'both', 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     closeText: 'Close' 
    }); 
}); 
+0

J'ai essayé à la fois pageLoad() et $ (document) .ready() ... pageLoad() selon ce que j'ai lu était pour des publications partielles d'ASP.NET. – APK

+1

Je ne crois pas qu'ils sont les mêmes: http://encosia.com/document-ready-and-pageload-are-not-the-same/ – TeckniX

Questions connexes