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 :

2 fonctions sur 1 onclick


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut 2 fonctions sur 1 onclick
    Bonjour j'aimerais passer 2 actions javascripts sur un onclick, mais je ne trouve pas de solutions !

    Voici d'abord les deux input fonctionnant bien séparément :
    Une confirmation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input onclick="return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));" type="submit" value="Modifier" name="modif"/>
    et une barre de progression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input onclick="showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>
    j'ai bien sur testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input onclick="return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>
    Mais ça ne fonctionne pas, la deuxième action ne se réalise pas

    Voici le second script repris sur le web donnant une barre de progression

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    	</script>
    		<SCRIPT LANGUAGE="JavaScript">
        document.writeln("<div id=\"jsWaitMessage\" style=\"font-family: Verdana; font-size: 10px; text-align: center; padding: 3px; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; z-index:3\"></div>" );
        document.writeln("<div id=\"jsWaitArea\" style=\"display: none; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; border: 1px black solid; background: #fdd46c;z-index:2\">" );
        document.writeln("<div id=\"jsWaitBlock\" style=\"position: relative; left: 0px; height: 20px; width: 50px; background: #fcbb10;z-index:2\"></div>" );
        document.writeln("</div>" );
        jsWait_defaultInstance = null;
        function showWait(message)
        {
    	  alert('Etes-vous sûr de vouloir modifier ce grade ?');
          jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', message);
          jsWait_defaultInstance.show();
        }
        function jsWait(name, message)
        {
          this.name = name;
          this.message = message;
          this.speed = 10;
          this.direction = 2;
          this.waiting = false;
          this.divMessage = document.getElementById("jsWaitMessage" );
          this.divArea = document.getElementById("jsWaitArea" );
          this.divBlock = document.getElementById("jsWaitBlock" );
        }
        jsWait.prototype.show = function()
        {
          this.divMessage.innerHTML = this.message;
          this.divMessage.style.display = "block";
          this.divArea.style.display = "block";
          this.divBlock.style.display = "block";
          this.divBlock.style.left = "0px";
          this.waiting = true;
     
          this.loop();
        }
        jsWait.prototype.setMessage = function(message)
        {
          this.message = message;
          this.divMessage.innerHTML = this.message;
        }
        jsWait.prototype.stop = function()
        {
          this.waiting = false;
          this.divMessage.style.display = "none";
          this.divArea.style.display = "none";
          this.divBlock.style.display = "none";
        }
        jsWait.prototype.loop = function()
        {
          myLeft = this.divBlock.style.left;
          myLeft = myLeft.substring(0, myLeft.length-2);
          intLeft = parseInt(myLeft);
          if(intLeft >= 250)
            this.direction = -2;
          if(intLeft <= 0)
            this.direction = 2;
          myLeft = "" + (intLeft+this.direction) + "px";
          this.divBlock.style.left = myLeft;
          if(this.waiting)
            setTimeout(this.name + ".loop()", this.speed);
        }
    	</script>
    merci d'avance pour votre aide

  2. #2
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Par défaut
    Salut,

    as tu essayé de mettre les fonctions dans l'ordre suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input onclick="showWait('Modification en cours');return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));" type="submit" value="Modifier" name="modif"/>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut
    dans ce cas là il me propose en premier une alert avec la seule réponse "OK" puis le confirm, si "oui" tout se réalise bien
    si "non" la première fonction tourne en boucle, mais le script n'est pas réalisé.
    c'est pas mal, mais dans mon cas il faudrait que cela ferme la fenêtre (popup) dans lequel j'exécute cette action.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    tu es sur on bouton de type submit ...

    passe par la onsubmit du form ... !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function showWait(message)
        {
    	  if confirm('Etes-vous sûr de vouloir modifier ce grade ?'){
    		  jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', message);
    		  jsWait_defaultInstance.show();
    		  return true;
    	  }else{
    	   return false;
    	  }
        }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input onclick="return showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>

    Sinon j'ai mal compris la question.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut
    @andry.aime

    dans ce cas là, je n'ai pas de confirm et la barre de progression ne s'affiche pas,
    en fait le form s'exécute tout simplement

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut
    @SpaceFrog

    tu veux que je passe le input en type="onsubmit" ?

    je ne comprend pas trop

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

Discussions similaires

  1. appel du fonction sur un onclick en PHP
    Par BriocheNC dans le forum Langage
    Réponses: 15
    Dernier message: 27/05/2011, 17h56
  2. Perte d'une fonction sur un OnClick d'un TR
    Par fm424946 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/08/2008, 16h37
  3. Execution de 2 fonctions sur onclick
    Par zorba49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2006, 11h10
  4. 2 fonctions sur un onClick
    Par renaud26 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 28/07/2006, 20h14
  5. Bouton alternant 2 fonctions sur le meme evenement onClick
    Par Rocca dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/01/2006, 09h16

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