Bugfix saving on data change

This PR fixes a few bugs:
- Fields only save when they are changed
- Tabbing between fields works correctly

This should improve the survey experience related to #671.