1. 

It actually goes to JSON and then to XML, but here's an adaption of json2xml.js specifically for use with jQuery's serializeArray function:

 

function json2xml(o, tab) {
  
var toXml = function(v, name, ind) {
    
var xml = "";
    
if (typeof(v) == "object") {
      
var hasChild = false;
      
for (var m in v) {
        
if (m.charAt(0== "@") {
          xml += " " + m.substr(1+ "=\"" + v[m].toString() + "\"";          
        } else {
          hasChild = true;
        }
      }
      
if (hasChild) {
        
for (var m in v) {
          
if (m=="name") {
            xml += "<" + v[m] + ">" + v['value'+ "";
          }
        }
      }
    }
    
return xml;
  }, xml="";
  
for (var m in o) {
    xml += toXml(o[m], m, "");
  }

  
return "
"+xml+"
";

}

 

 

and then I call it like this: 

 

var formjson = $('form#myform').serializeArray();
//var formxml = $.compactJSON(mjson);
var formxml = json2xml(formjson);
alert(formxml);
$.post("/collect.cgi", { 'data': formxml }, function (data){ });

 

 

http://www.docunext.com/blog/2009/01/convert-form-data-to-xml-with-jquery.html

 

2. Serialize form to JSON with jQuery

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

 

 

http://stackoverflow.com/questions/1184624/serialize-form-to-json-with-jquery

 

3. 

 jquery serializeArray

$('form').submit(function() {
  alert($(this).serializeArray());
  
return false;
});

 

 

 http://api.jquery.com/serializeArray/

 

相关文章: