I’m looking for a way to submit only changed form fields to the server. So, let’s say I have a form
<form>
<input type="text" name="a"/>
<select name="b">...</select>
<input type="checkbox" name="c"/>
</form>
which is populated with certain data already. The user edits the form and clicks submit. If the user only changed input b, then I want to submit only input b. If only a and c were changed, I want to submit only a and c. And so on.
I could write something myself to accomplish this, but I am wondering maybe there is already something out there that I could use? Ideally, I would like the code to be short. Something like this would be perfect:
$('form').serialize('select-only-changed');
Also, I came across this http://code.google.com/p/jquery-form-observe/ , but I see there are issues with it. Is this plugin working solidly?
Another approach would be to
serializethe form when the page loads, and then on submit, only submit the changes.Then, all you have to write is the
hashDifffunction, which is straightforward and generally useful.This is nice because it can easily be packaged into a plugin, and it can work repeatedly on the same form if you’re using Ajax.
Here’s a minimal test: