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 :

loading gif sur clic bouton submit


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut loading gif sur clic bouton submit
    Hello,

    J'essaye à travers un formulaire d'afficher un loading.gif de chargement lorsqu'on clic sur un bouton submit.

    J'ai trouvé le bout de code suivant, mais il semblerait que quelque chose bloque.

    Si je garde le id="form33" dans mon formulaire, je vois bien le loading.gif qui s'affiche à la place du bouton submit, mais rien ne se passe, le formulaire ne s’exécute pas.
    Si je supprime le id="form33", je ne vois plus le loading gif, mais cette fois le formulaire est exécuté et je suis redirigé vers ma page ping2.php


    Code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    function EnvoiMessage() {
     
    			$(this).submit();
    			document.getElementById('form33').innerHTML = '<img src="img/loading.gif" alt="Loading..." />';
    		}
     
     
    </script>
    Code:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form id="form33" action="ping2.php" method="post">
    <p>
    	<input type="hidden" id="router_ip" name="router_ip" value="<?php echo $donnees['router_ip']; ?>" />
        <input type="submit"  name="submit" id="submit" onclick="EnvoiMessage()" value="Ping"/>
    </p>
    </form>

    Quel est l'erreur ?
    Comment faire pour que les 2 actions soient exécutées en même temps ?

    Merci pour l'aide
    Dernière modification par Bovino ; 23/05/2011 à 11h26. Motif: Merci d'utiliser les balises [code] (bouton '#') de l'éditeur !!!

  2. #2
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Vu que c'est un bouton submit, vire ce bout de code
    $(this).submit();
    Si tu fait innerHTML avec ton formulaire, tu ne pourras rien envoyer. Ce que tu dois faire c'est cacher le formulaire avec un div au-dessus qui va afficher l'image.
    Tu dois aussi précharger l'image "loading.gif".

    A+.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Hello et merci pour la réponse.

    J'ai preloadé l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="MM_preloadImages('img/button_menu1_bis.png','img/button_menu2_bis.png','img/loading.gif')">
    et supprimé le:

    ceci dit je comprends pas exactement le procédé que tu propose,

    est-ce que c'est un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id="form33">
    <form  action="ping2.php" method="post">
    <p>
    <input type="hidden" id="router_ip" name="router_ip" value="<?php echo $donnees['router_ip']; ?>" />
    <input type="submit"  name="submit" id="submit" onclick="EnvoiMessage()" value="Ping"/>
    </p>
    </form>
    </div>
    mais ca change rien, mon loading.gif s'affiche mais pas d'éxecution du formulaire.

  4. #4
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,

    Non, c'est pas comme ça,
    Crées deux div qui se superpose, l'un contenant le formulaire et l'autre l'image qui sera caché au début et l'afficher au moment du submit et qui sera au-dessus de l'autre qui contient le formulaire.

    A+.

  5. #5
    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 : 53
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('form33').innerHTML = '<img src="img/loading.gif" alt="Loading..." />';
    Si tu remplaces le contenu du formulaire par une image, que veux-tu pouvoir transmettre au serveur ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Hello,

    Alors on avance

    Voilà le bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
    function EnvoiMessage() {
    					document.getElementById('form33').innerHTML = '<img src="img/loading.gif" alt="Loading..." />';
    		}
    </script>
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="form33"></div>
    <form  action="ping2.php" method="post">
    <p>
    	<input type="hidden" id="router_ip" name="router_ip" value="<?php echo $donnees['router_ip']; ?>" />
        <input type="submit"  name="submit" id="submit" onclick="EnvoiMessage()" value="Ping"/>
    </p>
    </form>
    Donc cette fois-ci j'ai bien mon div id="form33" qui est caché et qui apparait une fois que je clic sur mon submit.

    petit souci, mon gif n'est plus animé, il reste figé avant de passer à la page suivante (ping2.php)

    Why ?

    Merci

  7. #7
    Invité
    Invité(e)
    Par défaut
    C'est bon j'ai reglé mon histoire avec :

    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
    <!-- Un bouton avec '+' dedans, et un onclick qui appelle une fonction avec -->
    <!-- en param le bouton et l'id du div à afficher/masquer. -->
    <button type="button" onclick="toggle_div(this,'id_du_div');">+</button>
     
    <!-- Un div caché avec un attribut id -->
    <div id="id_du_div" style="display:none;">
    Yop yop yop yop yop yop yop yop
    </div>
     
    <!-- Le JS... -->
    <script type="text/javascript">
    function toggle_div(bouton, id) { // On déclare la fonction toggle_div qui prend en param le bouton et un id
      var div = document.getElementById(id); // On récupère le div ciblé grâce à l'id
      if(div.style.display=="none") { // Si le div est masqué...
        div.style.display = "block"; // ... on l'affiche...
        bouton.innerHTML = "-"; // ... et on change le contenu du bouton.
      } else { // S'il est visible...
        div.style.display = "none"; // ... on le masque...
        bouton.innerHTML = "+"; // ... et on change le contenu du bouton.
      }
    }
    </script>
    Encore merci à vous pour l'aide

  8. #8
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    J'aimerai bien voir ce div si tu l'affiche
    <div id="id_du_div" style="display:none;">
    Yop yop yop yop yop yop yop yop
    </div>

  9. #9
    Invité
    Invité(e)
    Par défaut
    yep yep yep yep yep


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

Discussions similaires

  1. comment savoir le nombre de clics sur le bouton submit
    Par zaki_1982 dans le forum Windows
    Réponses: 1
    Dernier message: 01/03/2012, 10h09
  2. Modifier requête sur clic bouton
    Par maxime350 dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/04/2008, 15h59
  3. Executer un script javascript en cliquant sur un bouton "submit"
    Par gpsevasion dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/02/2007, 15h06
  4. Réponses: 6
    Dernier message: 23/05/2006, 15h12
  5. [CSS]Hover sur un bouton submit
    Par Fiquet dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 18/10/2005, 11h15

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