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 :

Formulaire : verrouiller le bouton "Suivant" pour empêcher de soumettre de nouveau


Sujet :

JavaScript

  1. #1
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut Formulaire : verrouiller le bouton "Suivant" pour empêcher de soumettre de nouveau
    Bonjour à tous,

    J'ai une chtite question que je sais pas trop comment y répondre. Soit un formulaire HTML de méthode POST contenant une iframe "cachée" (par cachée, j'entends que ses dimensions sont 0x0 et sans bordure) pointant par défaut sur une page blank.html contenant simplement le code html <html></html>. Soit un bouton <input type="button"> de ce formulaire déclanchant une fonction JavaScript qui poste le formulaire dans l'iframe sur une certaine URL. Cette URL fait bien entendu un traitement du formulaire mais finalement n'affiche rien de spécial vu que l'iframe est cachée.

    L'iframe étant cachée, l'utilisateur ne sait pas qu'une nouvelle page y a été chargée. Comme ça, là, sans rien faire, l'utilisateur peut donc cliquer sur le bouton back (précédent) si ça lui fait plaisir (je n'ai rien contre) mais étrangement, il ne revient pas sur la page précédente (i.e. celle qui l'a amené sur le formulaire) mais reste sur le formulaire. Et une fois qu'il a cliqué sur précédent, il peut cliquer sur "Suivant" et là, ça lui demande s'il veut reposter le formulaire. Vous vous rendez bien compte que c'est la panique : l'utilisateur ne comprends rien à ce qui lui arrive : il n'arrive pas a quitté la page et on lui demande s'il veut resoumettre un formulaire qu'il croit ne jamais avoir posté.

    Bref, la question est donc la suivante : une fois le formulaire posté dans l'iframe cachée, comment faire en sorte que cette action ne figure pas dans l'historique du navigateur ? Comment faire en sorte que le bouton précédent le ramène bien sur la page précédente et que le bouton Suivant soit désactivé (cas idéal, cas dégradé accepté : que si le bouton Suivant n'est pas désactivé, qu'on ne demande pas à l'utilisateur s'il veut bien resoumettre le formulaire).

    Merci pour votre aide. Amicalement,

    _Mac_

  2. #2
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Cacher, par définition, signifie qui n'est pas visible.

    l'utilisateur ne sait pas qu'une nouvelle page y a été chargée
    La barre de chargement du navigateur ne se remet pas à charger ??

    il ne revient pas sur la page précédente
    Une histoire de focus ? Quand tu charges une iframe, il me semble que le focus lui est donné.. Rend le focus à ta page principale et ça devrait aller..

    J'suis déçu, moi qui croyait que Mc Giver se sortait de toutes les situations
    On dit que Mc Giver est mort au fond d'un puit.. (avis aux connaisseurs de la suite)

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par d-Rek Voir le message
    Cacher, par définition, signifie qui n'est pas visible.
    Je préfère préciser, on ne sait jamais

    Citation Envoyé par d-Rek Voir le message
    La barre de chargement du navigateur ne se remet pas à charger ??
    Si, c'est possible. Je sais pas en fait : comme je fais des tests localement pour le moment, ça va vite, mais certainement que ça se mettra à tourner.

    Citation Envoyé par d-Rek Voir le message
    Une histoire de focus ? Quand tu charges une iframe, il me semble que le focus lui est donné.. Rend le focus à ta page principale et ça devrait aller..
    Non, ce n'est pas une histoire de focus : j'ai trouvé un code JavaScript qui marchote avec IE mais pas avec Firefox...

    Citation Envoyé par d-Rek Voir le message
    J'suis déçu, moi qui croyait que Mc Giver se sortait de toutes les situations
    On dit que Mc Giver est mort au fond d'un puit.. (avis aux connaisseurs de la suite)
    Ca doit être ça : il a oublié de me laisser son cerveau en partant ! J'emprunte son nom et sérieux goût pour la débrouille mais là, j'avoue que son système a atteint ses limites. Ou alors, faut que je change de petit déjeuner...

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

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