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