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 :

Retour submit d'un formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Par défaut Retour submit d'un formulaire
    Bonjour

    Je rencontre un problème pour le téléchargement d'un fichier.
    Lorsque je clique sur un bouton de ma page, j'appelle la fonction javascript suivante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function export(){
       document.forms['form1'].submit();
    //   unlockPage();
    }
    Cela a pour effet de lancer le téléchargement d'un fichier. Au cours du téléchargement, la page est "verrouillée", un sablier s'affiche au milieu de la page empêchant toute action.
    Lorsque le téléchargement est terminé, il est bien possible d'ouvrir le fichier. Mon problème est que ma page reste verrouillée.
    J'ai une fonction qui la déverrouille (en commentaire dans le code, unlockPage()), mais, placée ici, ma page est déverrouillée peu après avoir validé le formulaire, alors que le fichier n'est pas encore complétement téléchargé.
    Est-il possible donc, d'appeler cette fonction uniquement lorsque le fichier est totalement téléchargée ?

    Merci de votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    2 questions/remarques :
    1. Qu'appelles-tu "verrouiller la page" ? S'agit-il de désactiver les champs de saisie qu'elle contient, ou de la recouvrir d'un div transparent style greybox ?
    2. Est-ce bien nécessaire ?
    Dis autrement : quelle sont les conséquences (techniques) si tu ne mets pas ce verrou ?

    A priori, si le visiteur a décidé de récupérer le fichier, il va attendre la fin du téléchargement. Mais s'il en décide autrement, libre à lui d'interrompre le téléchargement, d'enregistrer ou d'exécuter le fichier.
    Non ?

    A+

  3. #3
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Par défaut
    Merci de ta réponse (rapide qui plus est).
    Vérouiller la page consiste bien à la recouvrir d'un div transparent (avec un sablier au milieu).
    Si on ne met pas ce verrouillage, ce n'est peut être pas si grave. Le problème est que le fichier à télécharger est créé dynamiquement, la fenêtre "ouvrir/ enregistrer" le fichier arrive donc tardivement. L'utilisateur peut se demander pendant un peu de temps (30 secondes) s'il va bien avoir le fichier qu'il désire, car il n'a pas de retour pendant la génération de ce fichier.

    Si c'est impossible, je devrai donc trouver une alternative à ce verrouillage, ou bien ne pas mettre de verrou, mais ce n'est pas ce que je souhaite, d'où mon problème...

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Salut Climoo,
    afficher un petit texte du genre « téléchargement en cours, veuillez patienter » c’est toujours bon pour l’ergonomie. Et je trouve ça tout à fait légitime de vouloir le retirer quand le téléchargement est fini.

    J’imagine que la soumission du formulaire est faite par Ajax (sinon le JS n’a aucun intérêt ici), donc tu devrais pouvoir placer unlockPage en tant que fonction de rappel…

    Tu utilises quel framework ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Par défaut
    Merci de votre attention
    En fait non, je n'utilise pas Ajax...
    J'utilise une fonction javascript car avant le submit, il y a d'autres lignes de codes (que j'ai supprimées car nuisibles pour la comprehension de mon problème et sans rapport avec).
    L'application est en Java J2EE, avec Struts.

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Bonsoir,
    si tu utilises le .submit() par défaut, c'est une requête classique (non Ajax) qui est envoyée, et pour tout ce qui se passe après, c'est le navigateur qui gère : tu n'as aucun contrôle !

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

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

Discussions similaires

  1. deux bouton submit dans même formulaire
    Par sansouna24 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/05/2006, 11h03
  2. plusieurs boutons submit sur un formulaire
    Par clement42 dans le forum Struts 1
    Réponses: 1
    Dernier message: 12/05/2006, 10h42
  3. PB de retour de valeur dans formulaire
    Par Poutchou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 05/04/2006, 16h10
  4. Problème retour à la ligne dans formulaire
    Par Mysti¢ dans le forum Langage
    Réponses: 1
    Dernier message: 03/04/2006, 13h34
  5. Un submit pour plusieurs formulaires
    Par beufa dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/11/2005, 15h51

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