2012-05-30 2 views
0

입력 값을 JSON에 저장하고 싶습니다 (제출시). 사용자가 입력을 다시 채운 다음 이전 값을 유지하면서 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> 

자바 스크립트 :

$.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; 
    }); 
}); 
+0

이 라인

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

는 아약스를 통해 양식을 제출하거나 값을 저장하기 위해 쿠키를 사용합니다. – lucuma

답변

1

사용으로 .Append() 함수 대신는 .text() 함수.

DEMO fiddle

0

당신은 배열이

$(document).ready(function(){ 
    var values = []; 

    $("#myForm").submit(function(){ 
     values.push($("#myForm").serializeObject()); 
     $('#display').text(JSON.stringify(values));  
     return false; 
    }); 
}); 

Working Fiddle

0

당신은 #display의 값을 덮어 쓰는 것처럼 모든 값을 포함하는 유지 관리 할 수 ​​있습니다.

변경

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

Fiddle

관련 문제