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 :

Comment sysnchronier 2 document.form.submit


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 175
    Points : 59
    Points
    59
    Par défaut Comment sysnchronier 2 document.form.submit
    Bonjour,

    Je développe une application Web. A un endroit, je fais appel à 2 formulaires successivement( document.form1.submit puis document.form2.submit).

    L'ennui est que le second submit s'execute alors que le premier n'a pas fini de s'executer. Comment faire pour que le second commence après seulement que le premier est fini de s'executer ?

    Merci

  2. #2
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut
    vois avec setTimeout(action,delai)

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 175
    Points : 59
    Points
    59
    Par défaut
    Le setTimeout ne va pas car le temps d'execution du premier form.submit() est aléatoire

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    dans le traitement du premier formuliare à la fin bascule une variable flag globale de false à true ...
    puis dans une fonction setInterval teste la valeur du flag boolean si elle est true fasi un clearTimeout suivi d'un submit

  5. #5
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 175
    Points : 59
    Points
    59
    Par défaut
    Mais où positionner la variable flag ? comment contrôler la fin du 1er submit ? car le javascript continue de dérouler les instructions.

    Mon premier submit fait appel à une servlet.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    lance le test setInterval au debut du traitement du premier traitement de form ...
    change le flage à la fin du traitement du premier form ...

    le setInterval teste la variable et ne lancera le traitement du second form que lorsque la variable sera modifiée ...

  7. #7
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 175
    Points : 59
    Points
    59
    Par défaut
    Je mets le set Interval avant le premier submit() et changes la valeur du flag après la fin du premier submit(). Mais j'ai toujours le problème qui veut que l'execution du 1er formulaire continue à s'executer après la modification de la valeur du flag.

    Voic la structure de mon javascript :
    flag = false
    setInterval("appel_fonction()",100)
    document.action
    document.submit()
    flag = true

    function appel_fonction(){
    if (flag == true) {
    instrcutions; }
    }

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <script type='text/javascript'>
    var flag=false
    var Wait
    function fonction1(){
    Wait=setInterval(function(){if (flag){clearInterval(Wait);
                                          document.form2.submit();
                                          }
                                },100)
    setTimeout(function(){flag=true},5000)
    }
    </script>                            
     
     
    </head>
     
    <body>
     
    <form name="form1" action="javascript:fonction1()">
    <input type="submit" value="go 1"/>
    </form>
     
    <form name="form2" action="javascript:alert('ai je été pateint ?')">
    <input type="submit" value="go 2"/>
    </form>
     
     
    </body>
    </html>

Discussions similaires

  1. onchange document.forms.submit() et les ancres
    Par The Molo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/08/2012, 14h01
  2. Réponses: 7
    Dernier message: 13/01/2009, 11h36
  3. Comment ça marche this.form.submit() ?
    Par iro2 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/03/2006, 11h36
  4. window.document.forms[0].submit is not a function ?????
    Par michaelbob dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 04/01/2006, 16h08
  5. [form] document.monForm.submit() !?!
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/11/2005, 01h13

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