Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
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 24/02/2005, 12h51   #1
Membre régulier
 
Inscription : février 2005
Messages : 154
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 154
Points : 77
Points : 77
Envoyer un message via MSN à mchicoix
Par défaut Redirect de la page après un insert/update/delete

Voila j'ai une petite question certainement bête.

Dans mon process j'ai un form de modification d'une fiche, je fais un update avec un submit de la form et sur la form je met NextAction=MaForm ce qui me permet de revenir sur ma form après l'update . Jusque là tout ce passe bien, mais si l'utilisateur fais un refresh de la fiche IE propose de nouveau de submiter la form ... car dans mon url j'ai encore UpdateMaForm

Quelqu'un à une idée ?

Michel
mchicoix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2005, 13h29   #2
Membre éclairé
 
Inscription : janvier 2003
Messages : 284
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 284
Points : 311
Points : 311
Envoyer un message via MSN à Nicolas.Cogi
Toutes les appli web ont ce comportement, c'est inhérent à http/html.

Je pense pas que ce soit une bonne idee d'aller contre ca. En revanche, place des boutons Refresh dans tes toolbars, assure toi que la cinematique de ton application permet de toujours se passer du bouton refresh.
Et meme si un utilisateur appuies sur F5 et repost son formulaire, ce n'est pas tres grave. Il réécrie juste les données à nouveau...

Les techniques pour empecher ca sont tres lourdes et impliquent en gros de faire 2 requetes HTTP. Une pour le Update, qui renvoie un html de redirection, qui recharge à son tour le MaForm via un document.location.href = 'MaForm';

Pas terrible.

Un autre truc peut etre, c'est de poster l'Update dans un iframe caché. A toi de gérer les retours en cas d'erreur via PartialUpdate par exemple. Voir Toolkit CheckConstraint pour un exemple.
__________________
Nicolas
Nicolas.Cogi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2005, 14h47   #3
Membre régulier
 
Inscription : février 2005
Messages : 154
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 154
Points : 77
Points : 77
Envoyer un message via MSN à mchicoix
Citation:
Et meme si un utilisateur appuies sur F5 et repost son formulaire, ce n'est pas tres grave. Il réécrie juste les données à nouveau...
=> pour les mises à jours oui mais pour le cas insert il peut ajouter 2 fois la même valeur ...

Citation:
Un autre truc peut etre, c'est de poster l'Update dans un iframe caché. A toi de gérer les retours en cas d'erreur via PartialUpdate par exemple. Voir Toolkit CheckConstraint pour un exemple.
=> Pour le PartialUpdate on a réussi à faire la modification/suppression en s'aidant de la démo toolkit "DataGridAdvanced" mais pour ajouter une ligne supplémentaire là on a sécher car pas évident de faire un refresh avec une ligne vide permettant de nouveau de saisir ... en tout cas on n'a pas trouvé la soluce.

Michel
mchicoix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2005, 15h52   #4
Membre éprouvé
 
Inscription : mars 2002
Messages : 516
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 516
Points : 483
Points : 483
Envoyer un message via MSN à Sylvain James
Code :
en s'aidant de la démo toolkit "DataGridAdvanced" mais pour ajouter une ligne supplémentaire là on a sécher car pas évident de faire un refresh avec une ligne vide permettant  de nouveau de saisir ... en tout cas on n'a pas trouvé la soluce. :(
Je vois pas ce que tu veux dire ? Tu arrives pas à recharger ce que tu veux via le partial update ?
__________________
.NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

Mon Blog : http://blog.developpez.com/index.php?blog=89
Mes Articles : http://sjames.developpez.com/
Rubrique XMLRAD: http://xmlrad.developpez.com
Sylvain James est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2005, 16h16   #5
Membre régulier
 
Inscription : février 2005
Messages : 154
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 154
Points : 77
Points : 77
Envoyer un message via MSN à mchicoix
Citation:
Envoyé par Sylvain James
Je vois pas ce que tu veux dire ? Tu arrives pas à recharger ce que tu veux via le partial update ?
Simple : on n'arrive pas à recréer la ligne vide permettant la création d'un nouvel item à la fin de la liste ... il l'a place tout le temps après le champ que l'on vient de saisir ... j'avoue que l'on est pas très doué à la compréhension du fichier dom.js qui permet de faire ça ...
mchicoix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2005, 09h31   #6
Membre confirmé
 
Avatar de Jeweller
 
Inscription : août 2003
Messages : 354
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 354
Points : 226
Points : 226
Hello,

En ce qui nous concerne, on gère un verrou logique pour les formulaires principaux. Du coup lors de la validation du formulaire on libere le verrou et si l'utilisateur rafraichit la page sans repasser par la page de saisie, le verrou n'exsiste plus et ainsi les données ne peuvent plus être revalidées (test de l'existance du verrou avant).
Il faut dire aussi qu'on ne tolère pas que deux utilisateurs travaillent sur le même objet.
Donc un flag dans la base ou dans un fichier de session indiquant que l'utilisateur a ou n'a pas validé le formulaire peut éviter ce genre de probleme si tant est que c'en est un pour toi! De plus ca ne me parait pas trop lourd à gérer...


Michael
Jeweller 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 20h53.


 
 
 
 
Partenaires

Hébergement Web