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 :

Message ou image d'attente


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Par défaut Message ou image d'attente
    Bonjour,
    J'ai un lien html classique qui pointe vers un fichier php. Ce fichier effectue une requête dans ma base de données afin de générer un fichier Excel. Suivant les cas la requête peut être longue.
    J'aimerai donc prévenir les utilisateurs qu'ils ont bien cliquer sur le lien et que la génération du fichier Excel est encours.

    Je ne trouve pas grand chose comme information sur google... J'ai bien essayé de mettre un gif animé masqué au chargement de la page web puis visible lors du clic...mais sans succès (dans le meilleur des cas, le gif s'affiche mais ne s'anime pas...).

    Auriez-vous connaissance d'une fonction, d'un script php, javascript, ajax... qui fasse cela?

    Merci.

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    tu peux essayer ça :
    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 type="text/JavaScript">
    function patienterBoutonEnregistrer(idBouton, message)
    {
        var bouton = document.getElementById(idBouton);
     
        bouton.disabled = true;
        bouton.value = message;
    }
    </script>
     
    <form ... onsubmit="patienterBoutonEnregistrer('boutonEnvoi', 'Envoi en cours…');"
    ...
    <input type="submit" value="Envoyer" id="boutonEnvoi"/>
    ...
    </form>

  3. #3
    Membre éclairé Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Par défaut
    J'ai un peu modifier ton code pour l'adapter au fait que j'utilise un lien vers un fichier plutot qu'un formulaire. Mais l'effet reste le même, mis à part que je dois trouver un moyen de détecter quand le fichier a été télécharger afin de modifier l'affichage.

    Voici le code de mon fichier proposant un lien vers un fichier excel (telechargement.php):
    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
     
    <script type="text/JavaScript">
    function wait_on(idBouton, message){
        var bouton = document.getElementById(idBouton);
        bouton.innerHTML = message;
    }
    function wait_off(idBouton, message){
        var bouton = document.getElementById(idBouton);
        bouton.innerHTML = "<a href=\"excel/saisie.php\" onClick=\"wait_on('lien', 'Envoi en cours…');\" target=\"_blank\">Fichier de saisie</a>";
    }
    function init(idBouton, message){
        var bouton = document.getElementById(idBouton);
        bouton.innerHTML = "<a href=\"excel/saisie.php\" onClick=\"wait_on('lien', 'Envoi en cours…');\" target=\"_blank\">Fichier de saisie</a>";
    }
    </script>
    </head>
     
    <body onLoad="init();">
     
    <div align="center" id="lien"><a href="excel/saisie.php" onclick="wait_on('lien', 'Envoi en cours…');">Fichier de saisie</a></div>
    Ce code fonctionne bien et m'affiche "Envoi en cours..." lors qu'on clic sur le lien. Mais mon problème est de ré-afficher le lien lorsque le téléchargement est terminé.

    D'un autre coté dans le fichier excel/saisie.php à la fin du fichier j'ai essayé d'ajouter ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script language='javascript'>
    	window.opener.location='telechargement.php';
    	window.close();
    </script>
    Mais sans effet.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    Tu vas chercher ton fichier XLS (ou même le générer) avec une requête AJAX ..?

Discussions similaires

  1. [XL-2010] Afficher un message et une image d'attente pendant l'exécution d'une Macro
    Par jérémyp8 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 05/07/2013, 22h38
  2. message d'erreur incomprehensible : ATTENTION: [SetPropertiesRule]..
    Par info_plus dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 29/09/2009, 20h08
  3. Image d'attente de la vidéo
    Par Mister Nono dans le forum Intégration
    Réponses: 0
    Dernier message: 31/01/2008, 08h59
  4. Message d'information sans attente de validation
    Par manu971 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/08/2007, 17h38

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