[_] Check if user has changed anything on form since last save
Hamish Atkinson
hamish.atkinson at gmail.com
Thu Dec 17 10:44:54 GMT 2009
Hi all, I have a long form that the user fills in. It would be a 'mare to fill in and then quit without saving, so I want to a add a popup when user clicks the close button, but only if they have changed anything since they last saved (or the autosave saved the form). I thought of maintaining a js variable formChanged and adding an onChange event to every field that sets this to true. Then the Close button would have onClick event that pops up a confirm dialogue if this variable is set. (Admittedly, if user made a change and then reversed that change before trying to close the window this would falsely state that the form is modified. The only way to avoid that would be to keep a complete copy of the form as loaded and compare each field of the form with that copy when the user clicks close. Not difficult with prototype, but rather excessive) Or more simply, have 2 form close buttons instead of one: "Save & Close" and "Close, Discard Changes" (Much as Gmail has "Send","Save Now", "Discard" as an option as I write this message) Has anyone got any better/more elegant ideas (or can point me at form frameworks (PHP and/or javascript) that do this)? Hamish Atkinson hamish.atkinson at gmail.com