saving changes before the user leaves a form page?

I've been handed a new design for an edit view with a form, that
allows the user to move on to the next object in a list. This means
that there could be pending edits that need to be saved. The design
called for wants a prompt to see if the user wants to save or discard
pending changes (ala Gmail).

What's a good rails-y way to do this?

I've been handed a new design for an edit view with a form, that
allows the user to move on to the next object in a list. This means
that there could be pending edits that need to be saved. The design
called for wants a prompt to see if the user wants to save or discard
pending changes (ala Gmail).

What's a good rails-y way to do this?

Doubt Rails would get involved much as this has to happen client side (the user could go anywhere or click on anything right?)

I'd write some Javascript to loop through all the fields in the form and create another attribute "original-data" -- using whatever the recommended naming scheme is... maybe it's data-original, I don't recall.

Set the current value to this attribute. Then add an onunload handler that checks to see if any changes have been made and if so warn the user.

-philip

hmmm.... thx, Phillip...

I was thinking that there was a rails aspect in that there'd be
something tricky in catching the onunload event in JS and then if the
user wanted to save, posting back from there to my rails action to
handle the saving... no?

I guess I'm not seeing how I post to that action from JS... maybe I'm
overthinking it and it's simpler than that... maybe I'm just tired :slight_smile:

that sounds nice and simple... thx Marnen