Bonjour,
J'ai un formulaire HTML proposant normalement tous les boutons possibles pour l'utilisateur ("sauvegarder et quitter", "quitter sans sauvegarder", "sauvegarder et vue lecture", etc.). Tout fonctionne parfaitement. Et sous IE 8 en plus 
Je souhaiterais maintenant faire en sorte qu'un message apparaisse quand il ferme "brutalement" la fenêtre ou onglet, l'incitant à utiliser les bons boutons.
J'ai tenté la combinaison suivante :
Fichier HTML
<BODY ONLOAD="setHiddenValues();allerEmballage();optPf();optionsEtiquettes();" ONCLICK="cacheListes();" ONBEFOREUNLOAD="checkFermetureBrutale();">
Fichier JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| function checkFermetureBrutale(){
if (quitPropre == false) {
var certainQuitter = confirm("Voulez-vous quitter cette page sans enregistrer vos modifications ? \n \n [OK] pour quitter \n [Annuler] pour rester sur cette page");
if (certainQuitter) {
alert("oui je suis sur");
var formId = document.myForm._1_1_243_1.value; var ajaxUrl='livelink.exe'; var postData = new Object();
postData.func = 'll'; postData.objId = report_delEditUser; postData.objAction = 'RunReport'; postData.nextUrl = '';
postData.idFormulaire = formId;
$j.ajax ({
type: 'POST',
url: ajaxUrl,
data: postData,
success: function(){
document.location = document.getElementById('_1_1_245_1').value;
}
});
//return false;
}
else {
alert("au temps pour moi");
return false;
}
}
} |
Mais l'onglet se ferme que je choisisse "OK" ou "Annuler", et je ne vois pas trop d'où vient le problème...Je m'attends à ce que cliquer sur "Annuler" annule la fermeture, et l'on reste donc sur la page.
J'ai remplacé l'évènement "ONUNLOAD" par "ONBEFOREUNLOAD", je ne crois pas que cela change grand chose (si ce n'est pour les couleurs notepad++ visiblement...)
Merci pour votre aide !
Partager