2016-07-06 23 views
-1

Ich habe ein Json-Problem, wenn Sie serializeArray verwenden.Problem mit Json stringify und serializeArray

Ich habe ein HTML-Formular wie:

<form action="" method="post" name="myForm"> 
ID: <input type="text" name="id" /><br/> 
State (XX): <input type="text" name="state" /><br/> 
<p><input type="submit" onClick='submitform()' /></p> 
</form> 

Mit diesem in javascript:

function submitform() { 
var formData = JSON.stringify($("form[name*='myForm']").serializeArray()); 
alert(formData); 

Die Warnung ausgibt Namenswertpaare wie:

[{ "name": "id", "value": "1234"}, {"name": "state", "wert": "CA"}

Was ich wirklich will, ist die Ausgabe: {"id": "1234", "state": "CA"}

Irgendwelche Vorschläge?

Antwort

0

Stackoverflow bereits hat der Beiträge über diese

Serialize form data to JSON zuzuteilen

$.fn.serializeObject = function() { 
     var o = {}; 
     var a = this.serializeArray(); 
     $.each(a, function() { 
      if (o[this.name]) { 
       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; 
    };