Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web
Général Conception Web Forum d'entraide sur les choix technologiques. Avant de poster : Cours Dév. Web, FAQs Dév. Web, Sources Dév. Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 13h26   #1
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Par défaut Formulaire multi-pages et multi-validations

Bonjour à tous,

Pour commencer, je vous explique vaguement la situation..

J'ai un formulaire sur 3 pages avec :
- En haut, une barre de navigation du type " page1 > page2 > page3 " qui permet de switcher entre les pages comme on le souhaite.
- En bas, une flèche vers la gauche pour revenir à la page précédente et une flèche vers la droite pour la page suivante.

Ces 3 pages contiennent différents champs que l'utilisateur renseignera (ou non) dans le sens qu'il souhaite (La validation définitive se faisant sur la dernière page). J'aimerais pouvoir enregistrer en session toutes les nouvelles informations que l'utilisateur a renseigné à chaque fois qu'il change de page.

Et c'est là que je ne vois pas du tout comment faire.

J'ai déjà lu des explications sur des formulaires multi-pages. Pas de souci, mais dans mon cas, l'utilisateur peut changer de page de différente manière. Il n'y a pas un simple et unique bouton de validation qui permet de passer à l'étape suivante.

Avez-vous une petite piste ?

PS : Je bosse avec le Zend Framework (1.10) mais je me demande même si la solution ne se trouverais du coté du JavaScript.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 20h49   #2
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Citation:
Envoyé par Jonathan.b Voir le message
Il n'y a pas un simple et unique bouton de validation qui permet de passer à l'étape suivante.

Avez-vous une petite piste ?
Tu as un pb de conception. Un formulaire ne doit être validé que lorsque le visiteur click sur le bouton prévu à cet effet sinon cela prête à confusion.

Sinon tu peux faire en sorte que tes boutons de navigation soient en fait des boutons de validation du formulaire de la page en cours puis faire une redirection suivant le bouton cliqué. Cela peut se faire en javascript mais aussi sur un formulaire standard en mettant ces boutons à l'intérieur du formulaire mais en les positionnant en absolu (pour pouvoir les positionner où tu veux).
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 11h30   #3
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Il n'y a pas de façon élégante d'arriver au résultat que je souhaitais. Même si je pense qu'il n'y avait pas de problème d'ergonomie, je vais tout de même changer ma conception pour éviter de faire du bricolage.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 14h54   #4
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 302
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 302
Points : 4 480
Points : 4 480
le mieux serait que tes page de formulaire si tu souhaites toujours garder plusieurs page ne puissent être consultable qu'à l'appui sur un bouton exemple "suivant" dans ce cas alors tu peux enregistrer les données en session et si tu effectue un bouton précédent tu pourras en faire de même.

sinon c'est multiplier les cas possible, les méthode de validation etc ... monter une usine à gaz.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 16h59   #5
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
En effet, c'est un peu une usine à gaz. En fait, plus vaguement, je cherchais un moyen de détecter un changement d'écran et mettre à jour les données en session à chaque fois que je détecte cette évènement.

J'ai l'impression que c'est simplement impossible en PHP et assez "sale" en JS.

Je vais changer ma façon de faire. Ce sera plus simple.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 17h52   #6
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Citation:
Envoyé par Jonathan.b Voir le message
En fait, plus vaguement, je cherchais un moyen de détecter un changement d'écran et mettre à jour les données en session à chaque fois que je détecte cette évènement.
ça éventuellement tu pourrais le faire avec une requête ajax sur les évènements javascript onunload (pour FF et les autres) et onbeforeunload (pour IE). Avec jquery la commande est : $(window).unload(function() {/*requête ajax*/}

Mais bon, revenir à une façon de faire standard n'est pas plus mal. Normalement des données ne sont enregistrées que lorsque l'on clique sur un bouton qui nous l'indique clairement.
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h04.


 
 
 
 
Partenaires

Hébergement Web