|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2005 Messages : 135 ![]() |
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 ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
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) |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2005 Messages : 135 ![]() |
Comme on code ça et qu'est-ce que ça donne ?
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
__________________
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) |
|
|
00
|
|
|
#5 | |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2005 Messages : 135 ![]() |
Citation:
- 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 ? |
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 849 ![]() |
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+ |
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : février 2007 Messages : 7 ![]() |
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 |
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : mai 2005 Messages : 596 ![]() |
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... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com