IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

UI datepicker beforeShowDay s'execute avant la fin de onChangeMonthYear


Sujet :

jQuery

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut UI datepicker beforeShowDay s'execute avant la fin de onChangeMonthYear
    Bonjour à tous,

    L'énoncé de mon problème est pratiquement contenu dans le titre de ce post...

    lorsque l'on change de mois sur mon datepicker l'évènement onChangeMonthYear lance une requête $.post qui récupère un tableau de date.

    beforeShowDay est censé mettre en surbrillance les dates contenues dans le tableau.

    Le problème étant que le temps que ma requête post s'exécute, beforeShowDay à déjà fini sa tache en traitant un tableau encore vide...

    est-il possible de conditionner l'execution de beforeShowDay à la fin de l'évènement onChangeMonthYear ?

    merci d'avance pour vos réponses

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Peu importe le contexte, toutes les transactions AJAX sont asynchrones, donc l'exécution du code se poursuit indépendamment du résultat de la transaction AJAX et du temps nécessaire pour l'obtenir.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    Merci Daniel pour cette réponse,

    Je m'en doutais un peu compte tenu du caractère asynchrones des requêtes.

    l'option permettant d'activer un caractère synchrone des requêtes (async: false) empecherait-elle beforeShowDay de s'exécuter tant que onChangeMonthYear (qui envoi une requête post) n'a pas fini sa tâche ?

    En attendant j'ai utilisé une autre solution qui est de charger dès l'initialisation du datepicker un tableau de toutes les dates dont j'ai besoin pour les 6 mois suivants.

    un peu plus lourd, plus long et moins élégant que l'idée de départ mais au moins ça marche ;-)

    Bonne journée à tous, je laisse ce Post ouvert encore un petit peu au cas ou...

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Rendre la transaction AJAX synchrone c'est bloquer la page web et l'utilisateur qui risque d'aller voir ailleurs.

    Mais il y a les méthodes : enable, disable qui permettent de "mettre au frigo" le datepicker le temps voulu, mais cela peut-il fonctionner dans votre cas je l'ignore car je n'ai jamais testé un cas similaire.

    Voir : http://jqueryui.com/demos/datepicker/#method-enable

    Il y a aussi show et hide.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Par défaut
    Et pourquoi ne pas utiliser unbind sur l'évènement beforeShowDay lorsque onChangeMonthYear s'éxécute et ensuite tu bind beforeShowDay quand c'est fini non ?

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour

    Je pense que ce doit être faisable, mais je vois une objection. En désactivant uniquement l'événement "beforeShowDay" on n'empêche pas l'utilisateur de manipuler le Datepicker et de voir un tableau vide.

    Citation Envoyé par Alexdezark Voir le message
    lorsque l'on change de mois sur mon datepicker l'évènement onChangeMonthYear lance une requête $.post qui récupère un tableau de date.

    beforeShowDay est censé mettre en surbrillance les dates contenues dans le tableau.

    Le problème étant que le temps que ma requête post s'exécute, beforeShowDay à déjà fini sa tache en traitant un tableau encore vide...

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Par défaut
    Bah après tu couple cette solution à la tienne pour obtenir le résultat voulu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2009, 00h11
  2. [XML][XSL] Forcer l'affichage sur le navigateur avant la fin
    Par FreddyP dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 08/05/2006, 13h36
  3. [VBA-PP] execution a la fin d'un diaporama
    Par Pikasacha dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 07/05/2006, 18h13
  4. Réponses: 6
    Dernier message: 27/10/2005, 12h58
  5. Requete executé avant le clique sur le bouton.
    Par mael94420 dans le forum ASP
    Réponses: 2
    Dernier message: 16/06/2005, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo