This is a dialog module for the jQuery Dirty Forms project.
This module causes Dirty Forms to use Facebox as its dialog when the user attempts to leave the page by clicking a hyperlink (but not when interacting with the navigation buttons of the browser).
Only 1 dialog module can be used by Dirty Forms at a time. The default behavior without this package is to use the browser's built in dialog that is fired by the
beforeunload
event.
Prerequesites must be included in this order:
- jQuery (>= 1.4.2) - Stashing support for select elements requires jQuery >= 1.6
- jquery.facebox (>= 1.4.1) - both the CSS and JS
- jquery.dirtyforms (>= 1.0.0)
If you are using a Package Manager, these dependencies will be installed automatically, but depending on your environment you may still need to add references to them manually.
There are several different ways to get the code. Some examples below:
The Facebox dialog module is available over jsDelivr CDN and can directly be included on every page.
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.dirtyforms/2.0.0/jquery.dirtyforms.dialogs.facebox.min.js"></script>
jsDelivr also supports on-the-fly concatenation of files, so you can reference only 1 URL to get jQuery, jquery.facebox, jquery.dirtyforms, and jquery.dirtyforms.dialogs.facebox in one request.
<script type="text/javascript" src="//cdn.jsdelivr.net/g/[email protected],jquery.facebox,[email protected](jquery.dirtyforms.min.js+jquery.dirtyforms.dialogs.facebox.min.js)"></script>
Download and save one of two available files to include the Facebox dialog module to your page, either the latest distribution or the latest minified version.
<script type="text/javascript" src="jquery.dirtyforms.dialogs.facebox.min.js"></script>
You can also conveniently get all of the latest Dirty Forms files in one Zip Download.
The Facebox dialog module is even available through NPM, Bower, and NuGet. Just use one of the following commands below to install the dialog module, including all dependencies.
// NPM
$ npm install jquery.dirtyforms.dialogs.facebox
// Bower
$ bower install jquery.dirtyforms.dialogs.facebox
// NuGet
PM> Install-Package jquery.dirtyforms.dialogs.facebox
A SourceMap file is also available via CDN or your favorite package manager.
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.dirtyforms/2.0.0/jquery.dirtyforms.dialogs.facebox.min.js.map"></script>
NPM, Bower, and NuGet will install the SourceMap file into the destination directory.
jquery.dirtyforms.dialogs.facebox.min.js.map
This dialog module is automatic. Simply include the reference to the dialog module after the prerequisites and use Dirty Forms as per the documentation and Facebox as per the documentation.
// CSS
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.facebox/latest/jquery.facebox.min.css" />
// JavaScript
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" type="text/javascript"></script>
<script src="//cdn.jsdelivr.net/jquery.facebox/latest/jquery.facebox.min.js" type="text/javascript"></script>
<script src="//cdn.jsdelivr.net/jquery.dirtyforms/2.0.0/jquery.dirtyforms.min.js" type="text/javascript"></script>
<script src="//cdn.jsdelivr.net/jquery.dirtyforms/2.0.0/jquery.dirtyforms.dialogs.facebox.min.js" type="text/javascript"></script>
If not using a CDN, you need to apply the dependencies in the same order as in the example above.
The following options are available to set via $.DirtyForms.dialog.OPTIONNAME = OPTIONVALUE or get via OPTIONVALUE = $.DirtyForms.dialog.OPTIONNAME
Name | Type | Default | Description |
---|---|---|---|
title | string | 'Are you sure you want to do that?' | Sets the title of the dialog. |
proceedButtonClass | string | '' | Sets the CSS class of the continue button of the dialog (an HTML anchor tag element). |
proceedButtonText | string | 'Leave This Page' | Sets the text of the continue button of the dialog. |
stayButtonClass | string | '' | Sets the CSS class of the cancel button of the dialog (an HTML anchor tag element). |
stayButtonText | string | 'Stay Here' | Sets the text of the cancel button of the dialog. |
stashSelector | string | '#facebox .content' | When using stashing, setting this selector chooses the element of the modal dialog containing your form that will be included in the stash and later restored during unstash (if the user clicks cancel). |
For information about stashing, see the Modal Dialog Stashing section.
For help or to report a bug please open an issue at the Dirty Forms development site.