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

JavaScript Discussion :

Attendre la fin d'un callback pour continuer


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut Attendre la fin d'un callback pour continuer
    bonjour les amis

    j'ai une application en ASP .NET au travail auquelle je n'ai pas accès au code source ou bien à la base de données.

    et pour des besoin de travail j'ai un peu modifier son comportement avec Greasmonkey

    le problème se situ dans les callback par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    __doPostBack('ctl00$MidContent$GridView4','Page$'+milieu);
    /* traitements */
    je veux que les traitement s'execute une fois le __doPostBack() terminé car je repose sur les modification apporté par __doPostBack() pour affectuer mes traitement

    et merci

    j'ai oublié de mentionner que la fonction se trouvait dans le code html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input ... onclick="javascript:__doPostBack('ctl00$MidContent$GridView4','Page$10')">
    et je l'ai mis dans javascript pour des besoins spécifiques.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    De deux choses l'une.
    Soit __doPostBack() est synchrone et dans ce cas, la ligne suivante ne sera exécutée qu'après la fin de __doPostBack().
    Soit __doPostBack() est asynchrone et dans ce cas, elle est supposée fournir elle-même un gestionnaire de callback pour le code à exécuter une fois son traitement fini.

  3. #3
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    mais j’agis qu'avec des script je n'ai pas le code source en .NET pour savoir

    dans mon cas je crois qu'elle est asynchrone puisque elle n'attend pas mais je connait pas son gestionnaire de callback
    ps. je connait pas grand chose en .NET

  4. #4
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    j'ai oublié de mentionner que la fonction se trouvait dans le code html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input ... onclick="javascript:__doPostBack('ctl00$MidContent$GridView4','Page$10')">
    et je l'ai mis dans javascript pour des besoins spécifiques.

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Ici on parle de JavaScript et non de .NET. Cette fonction est forcément déclarée quelque-part, regarde le code source généré pour la trouver.

  6. #6
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    Merci mais je croyait que __doPostBack() etait une fonction prédéfinie

  7. #7
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Prédéfinie ça veut dire définie quand même. Si elle provient d'une librairie, alors elle est sûrement documentée quelque-part.

  8. #8
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Points : 43
    Points
    43
    Par défaut
    Voilà elle est défini comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }

  9. #9
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Donc le formulaire est soumis, ce qui laisse à penser qu'un changement de page a lieu (à moins qu'un autre bout de JavaScript intercepte la soumission derrière). Est-ce que tu observes un changement de page au clic ? Si c'est le cas, tu perdras le contexte JavaScript et il te faut donc trouver le moyen d'exécuter ta fonction au chargement de la page suivante, celle qui résulte de la soumission du formulaire.

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    à moins qu'un autre bout de JavaScript intercepte la soumission derrière
    Ce qui serait une étonnante façon de gérer la chose puisque la soumission d'un formulaire par script (méthode submit()) ne déclenche pas l'événement onsubmit.

  11. #11
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Oui et de toute manière si onsubmit était défini, on ne rentrerait pas dans la condition. Je pensais plus à une surcharge de la fonction submit du prototype HTMLFormElement. On sait jamais, je m'attends à tout avec ASP

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ce qui serait une étonnante façon de gérer la chose
    je m'attends à tout avec ASP
    Autant dire qu'on est largement d'accords !

Discussions similaires

  1. Attendre la fin d'un callback pour continuer
    Par Tgaud dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/02/2013, 14h06
  2. Attendre l'execution d'une commande pour continuer
    Par sculpteur dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 27/09/2007, 15h46
  3. Réponses: 4
    Dernier message: 08/06/2007, 15h36
  4. Attendre l'appui d'une touche pour continuer le programma
    Par Kcyril dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 05/04/2007, 15h11
  5. AS - Attendre la fin d'un onLoad pour faire un return
    Par ChrOnOs83 dans le forum Flash
    Réponses: 9
    Dernier message: 31/08/2006, 17h09

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