javascriptalert

Alert with multiple options


Just wondering, is it possible to create an alert with multiple options?

Like for example, in Facebook, when you try to close the tab/window when you have not finished typing your message, an alert with the options "Leave this page" and "Stay on this page" will pop up.


Solution

  • Example with form, you'are looking for window.onbeforeunload:

    <script type="text/javascript">
    var originalFormContent
    var checkForChanges = true;
    
    jQuery(document).ready(function () {
        originalFormContent = jQuery('#myForm input[type=text]').serialize() +      jQuery('#myForm select').serialize();
    });
    
    function onClose() {
    
        if (checkForChanges && originalFormContent != "undefined") {
            var content = jQuery('#myForm input[type=text]').serialize() + jQuery('#myForm select').serialize();
            if (content != originalFormContent) {
    
                return confirm('You have unsaved changes.  Click OK if you wish to continue ,click Cancel to return to your form.');
            }
        }
    
    }
    
    window.onbeforeunload = onClose();