Lors de la modification de données sur une page Web, il est courant de vouloir empêcher les utilisateurs de naviguer sans enregistrer leur changements. Ceci peut être réalisé en utilisant l'événement window.onbeforeunload.
Navigateurs hérités (IE6-8, Firefox 1-3.5)
Ensemble window.onbeforeunload à une fonction renvoyant une chaîne :
window.onbeforeunload = function() { return "Unsaved changes. Are you sure you want to leave?"; };
Supprimez l'événement pour le désactiver :
window.onbeforeunload = null;
Navigateurs modernes (Chrome, Firefox, etc.)
Activer l'invite :
window.onbeforeunload = function() { return true; };
Désactiver l'invite :
window.onbeforeunload = null;
Pour déterminer si des modifications ont été apportées, utilisez un cadre de validation ou vos propres gestionnaires d'événements personnalisés.
Exemple jQuery :
$('input').change(function() { if ($(this).val() != "") { // Enable the prompt window.onbeforeunload = function() { return true; }; } });
Spécifique au navigateur Considérations
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!