PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 24 → Ma page a t-elle été modifiée?
Ma page a t-elle été modifiée?
Débuté par Michel Adam, 23 fév. 2004 08:33 - 10 réponses
Posté le 23 février 2004 - 08:33
Y a t'il moyen de savoir simplement si le contenu de ma page a été (réellement)
modifié? (sans devoir, page par page, devoir comparer chaque zone avant et
après?).
Posté le 24 février 2004 - 08:31
Salut;
1ere methode:
Code navigateur chargement de page (onload)
bMod est un boolen=faux

dans chaque code navigateur modif et sortie (on change) de chaque champs
de saisie de la page
bMod=vrai //flaguer il y a eu un changement
Tu peux utiliser la variable bMod dans ton code pour voir s'il y a eu un
changement

2eme methode: une variante de la premiere.
Place un champ de saisie caché dans ta page avec champ de saisie obligatoire
Txt1.
Initialise Txt1 à l'initialisation de la page. Txt1="xxx"
dans chaque code navigateur modif et sortie (on change) de chaque champs
de saisie de la page
Txt1=""
Là tu peux forcer une action sauvegarde par exemple avant de fermer la page
en cours.

J'espère que ceci repond à ta question.



"Michel Adam" <ckh@attglobal.net> wrote:


Y a t'il moyen de savoir simplement si le contenu de ma page a été (réellement)
modifié? (sans devoir, page par page, devoir comparer chaque zone avant

et
après?).
Posté le 06 mars 2004 - 11:55
Bonjour et mieux vaut tard que jamais! (et répondre est quand même une question
de politesse!)

J'ai bien reçu la réponse que tu proposes pour résoudre mon problème.
Mais ce n'était pas exactement le sens de ma question. En fait, en WINDEV
7.5 il est possible d'utiliser le code suivant:

Si (MaFenêtre..Modifié) = vrai ALORS
Code de traitement..........
FIN

Cela permet de rendre le code totalement indépendant de la fenêtre et du
nombre de champs qu'elle contient.

Je voulais savoir s'il existait un système équivalent en WEBDEV mais le Support
PcSoft m'a répondu que non mais
que "Une suggestion en ce sens a été transmise à notre équipe Qualité et
à notre équipe Développement (Ref.37 995) pour les prochaines évolutions
de WEBDEV." Donc on peut imaginer que cela sera prochainement possible en
WEBDEV.

Dans ta réponse, il fallait mettre un code à chaque zone de chaque page.

Ma solution en fin de compte est différente et permet de rendre le code indépendant
de la page.

A l'affichage de la page j'appelle une procédure globale serveur:
ControlePageAvant(MaPage..nom). Dans la procédure et en utillisant la fonction
EnumèreChamp, je construis une chaîne où je mets un derrière l'autre le contenu
de tous les champs (pas tout à fait simple, indirections et toutes ces sortes
de choses )

A la validation de la page, j'appelle une autre procédure globale serveur:
ControlePageAprès(MaPage..nom). Dans la procédure je construis une deuxième
chaîne où je mets le contenu des mêmes champs (je n'utilise plus la fonction
EnumèreChamps)

Il ne me reste plus qu'à comparer les deux chaines
Dès lors je peux avoir autant de pages que je le souhaite avec un nombre
de champs sans importance et je dois introduire dans chacune des pages toujours
les 3 mêmes lignes de code aux mêmes endroits. De plus si on entre dans un
champ en le réintroduisant à l'identique, la page sera bien considérée comme
n'ayant pas été modifiée, ce qui m'arrange plutôt bien! (Le simple fait d'entrer
dans un champ n'implique pas qu'on va le modifier)

Voilà et bonne journée.


"Mohsen Hamouda" <mhamouda@linenchest.com> wrote:


Salut;
1ere methode:
Code navigateur chargement de page (onload)
bMod est un boolen=faux

dans chaque code navigateur modif et sortie (on change) de chaque champs
de saisie de la page
bMod=vrai //flaguer il y a eu un changement
Tu peux utiliser la variable bMod dans ton code pour voir s'il y a eu un
changement

2eme methode: une variante de la premiere.
Place un champ de saisie caché dans ta page avec champ de saisie obligatoire
Txt1.
Initialise Txt1 à l'initialisation de la page. Txt1="xxx"
dans chaque code navigateur modif et sortie (on change) de chaque champs
de saisie de la page
Txt1=""
Là tu peux forcer une action sauvegarde par exemple avant de fermer la page
en cours.

J'espère que ceci repond à ta question.



"Michel Adam" <ckh@attglobal.net> wrote:


Y a t'il moyen de savoir simplement si le contenu de ma page a été (réellement)
modifié? (sans devoir, page par page, devoir comparer chaque zone avant
et

après?).

Posté le 27 septembre 2012 - 19:14
Bonjour,

Fin 2012, toujours pas de Page..Modifiee ?

Quand on a environ une centaine de champs sur la page et que le client vous demande de tester si l'un des champs a été modifié, il y a de quoi râler ...

Bon dév.
Posté le 10 avril 2013 - 19:10
Bonjour,

J'ai besoin de savoir si les infos dans ma page ont été modifiées pour modifier les fichiers et j'ai donc utilisé les 2 méthodes ci-dessous.

Cela ne fonctionne pas. On ne peut pas enregistrer des valeurs en navigateur à moins que je me trompe?

Merci de votre aide

Mohsen Hamouda a écrit dans le message de news <403b0bb1$1@news.pcsoft.fr> :




Salut;
1ere methode:
Code navigateur chargement de page (onload)
bMod est un boolen=faux

dans chaque code navigateur modif et sortie (on change) de chaque champs
de saisie de la page
bMod=vrai //flaguer il y a eu un changement
Tu peux utiliser la variable bMod dans ton code pour voir s'il y a eu un
changement

2eme methode: une variante de la premiere.
Place un champ de saisie caché dans ta page avec champ de saisie obligatoire
Txt1.
Initialise Txt1 à l'initialisation de la page. Txt1="xxx"
dans chaque code navigateur modif et sortie (on change) de chaque champs
de saisie de la page
Txt1=""
Là tu peux forcer une action sauvegarde par exemple avant de fermer la page
en cours.

J'espère que ceci repond à ta question.



"Michel Adam" <ckh@attglobal.net> wrote:


Y a t'il moyen de savoir simplement si le contenu de ma page a été (réellement)
modifié? (sans devoir, page par page, devoir comparer chaque zone avant
et

après?).

Membre enregistré
13 messages
Posté le 10 octobre 2018 - 08:53
Bonjour à tous
Est ce que dans la version 23 il y a enfin cette fonctionnalité ? ... page..modifiee
merci
Posté le 10 octobre 2018 - 11:38
Oliv67 a formulé la demande :
Bonjour à tous Est ce que dans la version 23 il y a enfin cette
fonctionnalité ? ... page..modifiee
merci

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com


ce serait quoi la propriété modifiée dans ce cas ???

forcement qu'elle serait modifiée, avec les appels ajax, etc ..
tu veux surement dire : est ce que l'internaute a saisi qq chose de
différent dans mon formulaire ?
Membre enregistré
13 messages
Posté le 10 octobre 2018 - 12:56
Bonjour Eric
Comme évoqué dans la discussion plus haut, le but est de savoir si un internaute a modifié ou pas un élément du formulaire dans la page ...

S'il quitte cette page sans avoir enregistré les modifications (un oublie par exemple), ... avant de quitter la page, je souhaiterais afficher une info lui rappelant qu'il n'a pas enregistré ses modifications ... exemple : "Vous avez effectué des modifications dans ce formulaire. Voulez vous quitter cette page sans enregistrer ces changements ? ... OUI / NON

Il faut donc que je puisse détecter si au moins un champ a été modifié ... comme dans Windev avec la propriété ..modifié

J'espère avoir été plus clair dans mes explication ;)
Merci
Posté le 10 octobre 2018 - 14:19
Oliv67 a pensé très fort :
Bonjour Eric
Comme évoqué dans la discussion plus haut, le but est de savoir si un
internaute a modifié ou pas un élément du formulaire dans la page ...

S'il quitte cette page sans avoir enregistré les modifications (un oublie par
exemple), ... avant de quitter la page, je souhaiterais afficher une info
lui rappelant qu'il n'a pas enregistré ses modifications ... exemple : "Vous
avez effectué des modifications dans ce formulaire. Voulez vous quitter cette
page sans enregistrer ces changements ? ... OUI / NON

Il faut donc que je puisse détecter si au moins un champ a été modifié ...
comme dans Windev avec la propriété ..modifié

J'espère avoir été plus clair dans mes explication ;) Merci

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com


dans ce cas il faudrait utiliser un booleen et le mettre à jour ds
l'évènement modification de chaque champs.

Ou alors je ne sais pas si cela peut marcher ??? un groupe de champs
pour tous ces champs de saisie, et peut-on utiliser la propriété
..modifiée

je ne sais pas (je testerai à l'occase) masi si cela n'existe pas; ce
serait une bonne suggestion
Membre enregistré
13 messages
Posté le 10 octobre 2018 - 15:18
C'est ce que j'ai fait pour l'instant ...
A priori la demande ne date pas d'hier :) ...2004
Merci pour tes réponses
Membre enregistré
855 messages
Popularité : +3 (3 votes)
Posté le 10 octobre 2018 - 16:13
Cette demande a déjà été posée je ne sais plus ou, la solution proposée était, si le databinding est utilisé sur chaque champ, faire une sérialisation de l'objet servant de source et la stocker.

Avant la fermeture, effectuer une nouvelle sérialisation et la comparer a celle du départ, si elles sont identique, alors rien a été modifié.