I. Explications▲
Pour inviter l'utilisateur à sauvegarder un formulaire dont les informations ont changé lorsqu'il quitte la page :
- positionnez à true l'option trackResetOnLoad du formulaire BasicExt.form.Basic ;
- gérez l'événement dirtychangehandledirtychangehandle 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 TutorialsExtJS Tutorials : How to prompt the user to save a dirty form if leaving the pageHow to prompt the user to save a dirty form if leaving the page.
Je remercie également djibril pour sa relecture rapide.