我想创建一个JSON,只提交表单之前更改的那些输入字段。在表单提交时仅创建带有更改的输入字段的JSON
如何以JSON的形式保存每个更改的值?
$(document).ready(function() {
$('#save').click(saveChangedValues);
}
function saveChangedValues(e) {
e.preventDefault();
var fields = $("#frmStudInfo :input").serializeArray();
trackFormDataChanges(fields);
//make a ajax call with json only with the changed fields
$.ajax{(
)}
}
var finalJSON = {};
function trackFormDataChanges(fields){
$.each(fields, function(i, field) {
//create final json
});
}
<form id="frmStudInfo">
Name <input type="text" id="name" name="name" >
Date <input type="date" id="bdate" name="bdate">
ID <input type="number" id="stdID" name="stdID">
<input type="submit" id="save" value="Save" />
<form>
关于更改,标记字段脏。循环脏字段,创建json,提交。 –
你的意思是一个对象。 JSON是一种字符串格式,除非你想开始操纵字符串来保存数据,这是你应该担心的最后一件事。此外,只需使用[这个问题](http://stackoverflow.com/questions/1184624/convert-form-data-to-javascript-object-with-jquery?rq=1)的答案,然后你只需要随时跟踪更改。 –