jquery将序列化表单输入转换为xml字符串

时间:2011-02-06 14:16:44

标签: jquery

我正在尝试获取所有表单输入,然后使用它们创建一个包含值的xml字符串,以便通过ajax发送它们。

我想要这个:

<form id="formtest">
 <input type="text" name="test1" id="test1"/>
 <input type="text" name="test2" id="test2"/>
 <input type="text" name="test3" id="test3"/>
 <input type="text" name="test4" id="test4"/>
 <input type="text" name="test5" id="test5"/>           
</form>

成为:

<formtest>
  <test1></test1>
  <test2></test2>
  <test3></test3>
  <test4></test4>
  <test5></test5>
</formtest>

如何做到这一点?

感谢提前。

2 个答案:

答案 0 :(得分:2)

首先,在jQuery中创建XML文档:

var xml = $('<xmlBody></xmlBody>'); //<xmlBody> can be replaced with whatever tag is appropriate for your uses

添加如下值:

xml.find('xmlBody').first().append('<tag>'+data+'</tag>');

您可能需要一个插件来序列化XML。也许是This

这是一个非常简单的例子,但希望它能让你开始。查看jQuery docs以获取更多信息。

答案 1 :(得分:1)

    var xml = $('<formtest></formtest>');

$("form#formtest input").each(function(){
    xml.find('formtest').first().append('<' + $(this).attr('id') + '>' + $(this).val() + '</' +  $(this).attr('id') + '>');
});