我正在使用一个代码,当我们提交表单时,会以 JSON 格式获取所有表单输入字段值。
但我想收集所有时间数据,即每次提交表格时都应收集并显示结果。在目前的情况下,我只有一次提交:
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
$(function() {
$('form').submit(function(e) {
var ks = $('#answer').val().split("\n");
var formData = $('form').serializeObject();
$.extend(formData, { answerss : ks});
var result = JSON.stringify(formData);
$("#result").html(result);
return false;
});
});
当前输出:
{
"question": "1+1",
"type": "checkbox",
"answer": "1\r\n2\r\n3\r\n4",
"mandatory": "yes",
"json_data": "",
"answerss": ["1", "2", "3", "4"]
}
答案 0 :(得分:0)
使用数组说' resultFormArray
'每次你将push
提交给这个数组。即resultFormArray.push(formData)
其中formData是具有当前提交数据的obj
。现在resultFormArray
将包含所有表单数据。
var resultFormArray=[ ];
$(function() {
$('form').submit(function(e) {
var ks = $('#answer').val().split("\n");
var formData = $('form').serializeObject();
$.extend(formData, { answerss : ks});
resultFormArray.push(formData);
console.log(resultFormArray) /*will have all the form datas in this*/
/*var result = JSON.stringify(formData);
$("#result").html(result); */
return false;
});
});