One useful way to do this is to create input fields for the columns you wish to populate, but don't display them on your form. When the onchange event fires, have it set these "hidden" fields. Then if the user saves, this data is saved also, and if the user rolls back, these changes are rolled back too.