2016-09-02 5 views
2

フォームを送信するときに、フォーム入力フィールドの値をすべてJSONの形式で取得するコードを使用しています。jsonで送信するたびにフォームデータを収集

私はすべての時間データを収集したいと思います。つまり、フォームを送信するたびに収集して結果を表示する必要があります。あなたはこれにpushにそれを提出する「resultFormArray」と毎回言っ配列を使用

{ 
    "question": "1+1", 
    "type": "checkbox", 
    "answer": "1\r\n2\r\n3\r\n4", 
    "mandatory": "yes", 
    "json_data": "", 
    "answerss": ["1", "2", "3", "4"] 
} 

https://jsfiddle.net/aw339kwo/6/

答えて

0

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

を電流出力:現在の状況では、私は一度だけ提出を取得していますアレイ。すなわち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; 
      }); 
     }); 
+0

返事してくれてありがとう@Abhi、uはdivの中 – Sam

+0

を与えることができ、HTML(resultFormArray)。 – Sam

+0

$( "#結果を")電流出力を印刷するにはどのように作業例 – Sam

関連する問題