The JS observer
The JS observer is a component written in and utilizing JavaScript.
It basically works by saving the initial values of the form. When a user navigates away by clicking on a link, ull_js_observer compares the current form values with the initial one. If any changes are detected, it warns the user about unsaved changes.
Requirements
There are three basic requirements for a warning to occur:
- The user agent has JavaScript enabled
- The page has unsaved changes
- The user is leaving the page via a specially annotated link
Annotation of links
For the JS observer to work, links (which should trigger the modification checking process) have to be marked with a special option which is later processed into further JavaScript by the ull_link_to() function.
Example link:
ull_link_to('Homepage', '@homepage', 'ull_js_observer_confirm=true');
Developer information
Relevant code can be found in the following functions (all in ullHelper.php):
- ull_link_to
- _ull_to
- ull_js_observer