Comment inviter l'utilisateur à sauvegarder un formulaire dont les informations ont changé lorsqu'il quitte la page ?

Neil McGuigan

Traducteur

vermine

Il n'y a rien de pire que de perdre toutes les modifications effectuées dans un formulaire parce que nous avons oublié de sauvegarder les nouvelles valeurs. L'auteur vous explique comment avertir l'utilisateur lorsqu'il quitte la page que des changements n'ont pas été sauvegardés.
Cet article est la traduction de How to prompt the user to save a dirty form if leaving the page publié sur ExtJS Tutorials.

- Titre : Comment inviter l'utilisateur à sauvegarder un formulaire dont les informations ont changé lorsqu'il quitte la page ?

- Auteur : Neil McGuigan

- Traducteur : vermine

- Parution : 19 juillet 2012

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2012 Neil McGuigan. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Explications

- II. Code

- III. Remerciements

I - Explications

Pour inviter l'utilisateur à sauvegarder un formulaire dont les informations ont changé lorsqu'il quitte la page :

1. positionnez à true l'option trackResetOnLoad du formulaire Basic ;

2. gérez l'événement dirtychangehandle du formulaire.

II - Code

Ce qui donne quelque chose comme ceci :

function my_onbeforeunload(e){
message = 'Des modifications ne sont pas sauvegardées. Êtes-vous sûr de vouloir quitter cette page ?';
e = e || window.event;
if(e){
e.returnValue = message;
}
return message;
}

form.on('dirtychange', function(basic, dirty, eOpts){
window.onbeforeunload = dirty ? my_onbeforeunload : null;
});

III - Remerciements

Cet article a été publié avec l'aimable autorisation de Neil McGuigan. L'article original peut être lu sur le blog ExtJS Tutorials : How to prompt the user to save a dirty form if leaving the page.
Je remercie également djibril pour sa relecture rapide.