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

HTML Discussion :

Reposition sur un formulaire après validation


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut Reposition sur un formulaire après validation
    Salut,

    J'ai un formulaire situé en bas d'une page. J'aimerai qu'en cas d'erreur à la validation que le scroll de la fenetre soit repositionné directement sur le formulaire et qu'en car de validation correcte que le visiteur soit redirigé ailleurs (c'est en php donc j'ai un header("Location http://www.monsite.com/mapagevalide.php");

    J'ai donc mis dans comme attribut (formulaire simplifié) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id="formulaire" action="validation.php#formulaire">...
    Cela marche, mais il me garde toujours dans la page de réception validée l'ancre #formulaire en fin d'url malgré la redirection par header.

    je me trouve donc avec une url sur la page de reception du style:
    http://www.monsite.com/mapagevalide.php#formulaire

    Que puis-je faire pour parrer à cela ?
    Avez-vous une autre solution peut-etre car c'est uniquement histoire de repositioner la vue au bon endroit si les données saisies étaient incorrectes ?

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu fais la vérification des données en PHP ou en Javascript ?

  3. #3
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    Oui, mais appuyé d'une vérification serveur avec PHP si JS n'est pas activé par exemple. Pourquoi cette question ?

  4. #4
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    A mon avis, tu ne devrais faire que la vérif PHP....En fin, c'est un avis perso !!!!

    Bref, ton header ne te ressors pas d'erreur ? (du style : cannot send header() information....)

    Sinon, es tu sur un serveur local (easy PHP, Wamp....) ou sur un "vrai" serveur, qui n'affiche pas les erreurs ?
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  5. #5
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    Si je fais une vérif en JS c'est surtout pour le confort de l'utilisateur. Ensuite j'appuie avec PHP au cas ou JS serait désactivé ou si de petits malins tentaient de s'amuser...

    Pour le serveur, j'utilise les 2, en local avec un report d'erreur complet en PHP et en production, mais je n'ai pas d'erreur, vous n'avez pas saisi ma question.

    J'aimerais juste comme le formulaire est en bas de page que celui-ci se repositionne correctement dans la vue utilisateur lorsque des erreurs sont détéctés, celles-ci sont affichés directement a coté des champs de formulaires (à la mode AJAX). J'ai donc pour cela mis dans l'attribut de ma balise form une "ancre" : <form id="formulaire" action="validation.php#formulaire"> qui me permet que lorsqu'on soumet le formulaire la vue soit redirigée au niveau du formulaire (c'est une longue page et je ne souhaitais pas que l'utlisateur ai a tout scroller en cas d'erreur ou autres)

    Maintenant la question est en ayant fait ca, je me retrouve avec une url ajouté de cette ancre après l'envoi d'une redirection par header en cas d'acceptation des données par mon programme de validation.

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @elitemedia : Ma question n'attendait pas une réponse de type Oui ou Non, mais plutôt PHP ou Javascript.

    Comme tu as l'air de faire les deux :

    Javascript :

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function tafonctiondevérification(){
       if(ilyauneerreur)
          location.href = "validation.php#formulaire";
          return false;
       else
          return true
    }

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form id="formulaire" action="mapagevalide.php" onsubmit="return tafonctiondevérification()">
    ...
       <input type="submit" .. />
    </form>

    PHP (mapagevalide.php) :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(ilyauneerreur)
       header("Location http://www.monsite.com/validation.php#formulaire");

  7. #7
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    Merci Bisûnûrs, je pensais que c'ètait une question de HTML mais ta solution me conviens parfaitement.

    Je teste ca de suite.

Discussions similaires

  1. vider les champs d'un formulaire après validation
    Par WomanPSG76 dans le forum VBA Access
    Réponses: 7
    Dernier message: 31/08/2007, 12h25
  2. Vider les champs d'un formulaire après validation
    Par HwRZxLc4 dans le forum Langage
    Réponses: 15
    Dernier message: 21/03/2007, 11h29
  3. Rechargement du formulaire après validation ?
    Par elitost dans le forum Struts 1
    Réponses: 13
    Dernier message: 21/09/2006, 12h46
  4. Réponses: 1
    Dernier message: 04/06/2006, 00h35
  5. Réponses: 4
    Dernier message: 18/10/2005, 23h22

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