Avis sur une méthode de programmation dans les xPages

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Avis sur une méthode de programmation dans les xPages

Messagepar mike76 » 10 Juin 2010 à 09:56

Bonjour,

Je suis en 8.5 développement web.
J'ai une xPages avec 3 "champs".
Je souhaite savoir lors de l'appui d'un bouton "Close" dans cette xPage si un des "champs" a été modifié.

J'ai fait comme ceci mais je voulais avoir votre avis pour savoir si c'était la bonne méthode, ça fonctionne bien mais bon peut-être y a-t-il mieux :

Création d'une bibliothèque javascipt :
Code : Tout sélectionner
var flagChpModif=false;


J'ai ensuite ajouté cette bibliothèque dans les ressources de ma xPage.
Ensuite sur chaque "champ" dans le onchange, j'ai inséré le code suivant :
Code : Tout sélectionner
// on signale que le champ a été modifié
// pour demander à l'appui sur le bouton "Close" si on sort sans enregistrer
flagChpModif=true;


Sur le bouton "Close" sur le onclick, j'ai mis le code suivant :
Code : Tout sélectionner
// si un des champs a été modifié (flagChpModif)
// --> demande de confirmation de sortie sans sauvegarde
if(flagChpModif)
   return confirm("Are you sure to close without save?");


Dans les versions précédentes, pas de besoin d'utiliser une bibliothèque de script, directement dans le onload de ma page ou de mon masque.
Dans les xPages je n'ai pas trouvé d'événement onload, juste beforePageLoad et afterPageLoad.
Le problème c'est que ces événements tourne côté serveur, donc même si je déclare une variable dans l'un de ces événements, je ne pourrais pas la récupérer lors l'appui sur bouton "Close" du côté client.

Votre avis ??
Merci d'avance
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar amahi » 10 Juin 2010 à 13:46

Bonjour, tu dispose coté serveur de 4 variables:
applicationScope
sessionScope
requestScope
viewScope.

Dans ton cas, viewScope devrait sufir.
Donc dans ton onchange, tu met coté serveur le code suivant
viewScope.flagChpModif = true;

et dans ton onClick coté serveur tu test cette meme variable if(viewscope.flagChpModif == true) ...
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne

Messagepar mike76 » 10 Juin 2010 à 15:47

salut amahi,

j'ai essayé avec la sessionScope nickel
merci encore
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN


Retour vers Développement

cron