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 :

Enchainement de fonction.


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 33
    Points
    33
    Par défaut Enchainement de fonction.
    Bonjour,
    J'effectue un script javascript qui nécessite de diviser mon script en 'étape', et fait donc une fonction pour chaque étape. Voyez par vous même :

    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
     
     
    //..bla bla en javascript....
     
    document.write('<input type="button" value="Aller à létape 1" OnClick="etape1()">');
     
    function etape1(){
     
         //...bla bla javascript avec des champs de formulaire...
     
         document.write('<input type="button" value="Aller à létape 2" OnClick="etape2()">');
    }
     
    function etape2(){
     
         //...Affiche des champs de formulaires en fonction des infos de letape 1....
     
         document.write('<input type="button" value="Aller à létape 2" OnClick="etape3()">');
    }
    Mon problème est que je ne trouve pas le moyen de passer de la fonction etape 1 à 2, et de façon général de passer de fonction en fonction. Si il existe une solution, ou même une autre procédure qui regrouperait le tout en une seul fonction...

  2. #2
    Membre régulier Avatar de LexWizard
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2007
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    bah pour passer de la fonction etape1 à la fonction etape2 tu fais comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function etape1(){
     
         //...bla bla javascript avec des champs de formulaire...
     
         document.write('<input type="button" value="Aller à létape 2" OnClick="etape2()">');
    etape2();
    }
    La fonction etape2 sera immediatement appelé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 33
    Points
    33
    Par défaut
    oui mais c'est ça le problème, c'est que si je me ce que tu viens de me mettre, la fonction appel directement l'autre fonction, sans que l'utilisateur est le temps de remplir les champs de formulaire de la fonction, et cela agirait comme si je n'avais qu'une seul fonction, hors j'ai besoin de cette organisation car par exemple ce qu'affiche ma fonction etape3, dépend des infos enregistrer lors de la fonction etape2 lol

  4. #4
    Membre régulier Avatar de LexWizard
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2007
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    C'est bien ce que je me disais
    La façon que tu utilises est donc la bonne.

    Tu veux que ça soit seulement sur un bouton ? au lieu de 1 bouton par etape ?

  5. #5
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    J'ai testé ton code et le problème c'est que une fois que t'as cliqué sur ton bouton, tout le code javascript que t'as est effacé et remplacé par ton nouveau bouton, donc la fonction etape2() n'existe plus, donc ca plante :/
    Ce que tu pourrais faire, c'est au lieu de faire des document.write, afficher et effacer les éléments !
    Je m'explique :
    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
     
    <script>
    function etape1(){
    	document.getElementById('1').style.display = "none";
    	document.getElementById('2').style.display = "inline";
    }
     
    function etape2(){
    	document.getElementById('2').style.display = "none";
    	document.getElementById('3').style.display = "inline";
    }
    </script>
    <input id="1" style="display:inline" type="button" value="Aller à létape 1" OnClick="etape1()">
    <input id="2" style="display:none" type="button" value="Aller à létape 2" OnClick="etape2()">
    <input id="3" style="display:none" type="button" value="Aller à létape 3" OnClick="etape3()">

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 33
    Points
    33
    Par défaut
    Oui, je vois ta manière de procéder (exellente lol), mais dans ce cas la je ne pourrais plus utiliser 'document.write' et suit donc obligé d'utiliser une balise <div></div> dans laquelle j'ajouterais/supprimerai mes élèments de formulaires pour chaques étapes ?

  7. #7
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Ben si t'as un formulaire pour chaque étape, tu cache directement le <form>
    ca revient au même que de mettre tout dans un div
    Après, c'est à toi de voir comment tu veux gérer ton truc

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 33
    Points
    33
    Par défaut
    lol Non pour cette partie je vais utiliser les div, car je ne peut pas "cacher" mes élèments de formulaire, de sorte que leur nombrse et leur types va dépendre des informations rentrer lors du formulaire de la fonction précédente lol...
    Merci beaucoup, et pour le mots de la fin >> "yapuka"
    Je posterai un nouveau message si je rencontre des problèmes.

    Merci et @+.

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

Discussions similaires

  1. Enchainement de fonctions javascript
    Par aku84 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 04/03/2011, 05h37
  2. [MySQL] Pb sur enchainement de fonction
    Par moustika dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/10/2010, 17h39
  3. [Batch] Enchainement de fonctions del et copy
    Par Marosh dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 29/03/2010, 16h13
  4. Enchainement de fonctions
    Par Rick34000 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/03/2008, 11h39
  5. Enchainer des fonctions dans un onclick d'un bouton
    Par jpg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/2004, 16h51

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