如何保持之前发送到 JSON 的值

How do I keep the previous value sent to JSON?

本文关键字:JSON 的值 何保持      更新时间:2023-09-26

我想将输入的值存储到 JSON 中(提交时)。如果用户再次填写输入,则提交我想将新值添加到 JSON 中,保留前一个值。

我使用以下方法将输入值添加到 JSON,但我不确定如何将以前的值发送到 JSON。

http://jsfiddle.net/ABE4T/

.HTML:

<form method="post" name="myForm" id="myForm">
<input type="text" name="element" />
<input type="submit" value="Add" name="submit" />
</form>
    <div id="display"></div>

Javascript:

$.fn.serializeObject = function()
{
    var arrayData = this.serializeArray();
    var objectData = {};
    $.each(arrayData, function(){
        if(objectData[this.name] != null){
            if(!objectData[this.name].push){
                objectData[this.name] = [objectData[this.name]];
            }
            objectData[this.name].push(this.value || '');
        }
        else{
            objectData[this.name] = this.value || '';
        }
    });
    return objectData;
};
$(document).ready(function(){
    $("#myForm").submit(function(){
        $('#display').text(JSON.stringify($("#myForm").serializeObject()));    
        return false;
    });
});
使用 .append() 函数

而不是 .text() 函数。

演示小提琴

你可以维护一个数组来保存所有值,如下所示

$(document).ready(function(){
    var values = [];
    $("#myForm").submit(function(){
        values.push($("#myForm").serializeObject());
        $('#display').text(JSON.stringify(values));    
        return false;
    });
});

工作小提琴

您正在覆盖 #display 中的值。

更改此行

 $('#display').text(JSON.stringify($("#myForm").serializeObject()));

$('#display').text($('#display').text() + JSON.stringify($("#myForm").serializeObject())); 

小提琴