Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
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 23/03/2007, 10h01   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 135
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 135
Points : 10
Points : 10
Par défaut Découper un formulaire en plusieurs pages

Bonjour,

Je dois créer pour mon entreprise un formulaire sur la sécurité qui sera remplit par chaque nouveau arrivant.
J'ai déjà fait des formulaires avec traitement en ASP pour enregistrer les données dans une base Access. Donc de ce côté là, pas de problème.

Ce qui me pose problème, c'est que le questionnaire est assez long et je voudrais le découper en plusieurs pages (remplir la 1ère page, faire suivant, remplir la 2è page, ...).

J'ai essayé tout bêtement de mettre une balise "form" sur chaque page avec comme méthode "post" et action "traitement.asp", et je ferme le "form" à la fin de chaque page.
Sauf que quand je veux enregistrer le tout dans ma base, il prend en compte que la dernière page. Je pensais que ça gardait en mémoire les réponses tant qu'on ne fermait pas Internet Explorer.

Pouvez-vous m'aider s'il vous plait ?
wanou44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 10h50   #2
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Bonjour,

Pour contourner ce genre de truc, j'utilise des onglets. L'utilisateur saisit dans les onglets, et la validation se fait en une seule fois.
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 10h56   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 135
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 135
Points : 10
Points : 10
Comme on code ça et qu'est-ce que ça donne ?
wanou44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 11h33   #4
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Re,

J'avais répondu ici : http://www.developpez.net/forums/sho...ghlight=onglet
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 15h55   #5
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 135
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 135
Points : 10
Points : 10
Citation:
Envoyé par pc75
J'ai essayé de l'adapter à ma page mais j'ai quelques soucis :
- Est-ce qu'on est restreint qu'à cinq onglets ?
Quand j'en ai 6 ou plus et que je clique sur le 6ème ou plus, il met "Erreur javascript" dans la barre du bas d'Internet Explorer.

- Je suis sur le premier onglet et j'ai le contenu du 1er, 2ème et 3ème onglet qui apparaissent.
Quand je clique sur le 2ème onglet, j'ai le contenu du 2ème, 3ème et 4ème onglet qui apparaissent.

Pouvez-vous m'aider ?
wanou44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2007, 14h36   #6
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Le plus sympa pour l'utilisateur est d'enregistrer au fur et à mesure en base. Comme ça, si pour une raison ou une autre le processus est interrompu, l'utilisateur peut toujours retrouver ce qu'il a fait.

Sinon, plutôt que d'enregistrer en base, tu peux enregistrer au fur et à mesure dans un cookie, une variable de session. A la fin tu relis cette variable et tu mets en base.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 01h49   #7
Invité régulier
 
Inscription : février 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 7
Points : 6
Points : 6
Par défaut salut

bonjour,
si tu veux utiliser plusieur page pourquoi tu ne pense pas d'enregistrer tou dans une session je pense comme sa sa sera mieux
faysalm2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 18h51   #8
LEK
Membre éclairé
 
Inscription : mai 2005
Messages : 596
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 596
Points : 363
Points : 363
Salut,
tu dois commencer par comprendre pourquoi tu perd tes données afin de faire un code efficace... La base du web tel qu'il existe est que tu es dans un système sans état, tes pages n'ont pas de mémoire... Du coup lorsque tu envoie des données de la page p1 à la p2, il faut que tu code un mécanisme pour que les données de la page p2 plus celles reçues de la page p1 soit envoyées sur la p3... et ainsi de suite (remarque : c'est de ce constat et pour résoudre ce problème que MS en est arrivé à ajouter un viewstate dans ASP.net mais ça c'est une autre histoire... ;-) ).
Le mécanisme en question peut être codé de plusieurs manière comme l'on fait remarquer les autres intervenants :
- mise en session de l'ensemble des données
- enregistrement temporaire dans une table jusqu'à validation
- mise en place de la totalité des champ cachés dans chacune des pages
- utilisation des onglets
- utilisation d'une liste de div comprenant tes n étapes et apparaissant les unes à la suites des autres... (remarque avec cette solution tu peux garder ton code actuel et faire seulement de la mise en page javascript/css)
- etc...
LEK 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 15h20.


 
 
 
 
Partenaires

Hébergement Web