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 :

Soumettre automatiquement un formulaire en quittant une page


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Par défaut Soumettre automatiquement un formulaire en quittant une page
    Bonjour,

    Je recherche une méthode fiable pour soumettre un formulaire lorsque l'on quitte la page sur laquelle il se trouve, et ceci quelle que soit la manière dont on la quitte : bouton "Actualiser" ou "Page précédente", clic sur un des nombreux liens de la page...

    Je n'ai pour l'instant trouvé que la méthode d'un submit() appelé par un onbeforeunload dans le body, mais qui nécessite une pause pour être certain que le submit() soit effectif avant de partir. Par exemple :
    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
    <html>
    <head>
    <script>
    function showPausePage(){
    f1.action="pause.asp"
    f1.method="post"
    f1.submit();
    return false;
    }
    </script>
    </head>
    <body onbeforeunload="return showPausePage();">
    <form name="f1" id="f1">
    ...
    </form>
    </body>
    </html>
    Cette méthode est aberrante (elle ralentie la navigation) et peu fiable (rien ne prouve que le temps d'attente soit suffisant), et je ne suis pas certain de sa compatibilité avec tous les navigateurs.
    Existe-t-il une autre solution plus propre ?

  2. #2
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    effectivement si le submit devient plus ou moins aleatoire : c'est tres moyen...

    moi j'utiliserai l'evenement "onUnload" qui executerai la fonction de submit du formulaire.

    Unload
    (onUnload) Se produit lorsque le navigateur de l'utilisateur quitte la page en cours
    voila
    ++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Par défaut
    Merci pour cette réponse.
    Justement j'ai lu à plusieurs reprises qu'il fallait préférer OnBeforeUnload à OnUnload pour s'assurer que le formulaire soit effectivement soumis avant le départ.
    Chez moi, cela semble fonctionner avec OnUnload (testé avec FF), mais on trouve sur Internet de nombreux témoignages qui laissent penser que le risque de partir sans que le formulaire ne soit effectivement soumis est grand (et le conseil qui revient souvent est justement d'utiliser OnBeforeUnload ...).

  4. #4
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    ah .... ben essaye de verifier quelle methodes a le plus de resultat positif .... et pusi apres tu choisis :d

    si quelqu'un a une autre idée ... ++

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Par défaut
    Ce n'est pas simple à réaliser comme test car les résultats peuvent varier en fonction de la quantité d'informations saisies dans le formulaire ou en fonction de la charge du serveur (et du navigateur bien sûr...)...

    Comme souvent avec le développement web, on est en face d'un problème tout bête, qui concerne presque tous les sites Internet, et on ne trouve pourtant aucune réponse propre et claire ...

  6. #6
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    mais attend l'evenement Unload il fait quoi il marche pas ,?? en moitié ???

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/05/2007, 09h56
  2. Réponses: 3
    Dernier message: 23/04/2007, 11h55
  3. soumettre automatiquement un formulaire?
    Par questionneuse dans le forum Général JavaScript
    Réponses: 34
    Dernier message: 01/06/2006, 19h02
  4. Réponses: 4
    Dernier message: 03/04/2006, 16h40
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

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