jQuery序列化嵌套表单

时间:2014-12-01 19:00:37

标签: javascript jquery html

我在另一个表单元素中有一个表单但是当我尝试序列化嵌套表单时,该函数只返回一个空对象。我问这个因为我正在编写Wordpress插件,我需要在帖子编辑器页面中添加一个表单,我在页面中放置的所有内容似乎都添加在父表单中,所以这里是我想要的例子:

JS Fiddle

<form>
<div>Other content goes here...</div>
<form id="otroform"><input type="text" value="meine valor" name="variable"/></form>
</form>

这是JS代码

var formData = jQuery('#otroform').serializeArray();
console.log(formData);

返回:

[]

如果我删除父表单,那么它将正常工作。

提前致谢。

3 个答案:

答案 0 :(得分:1)

serializeArray()不需要表单。因此,您可以通过收集不同类别的输入,在没有内部形式的情况下将其拉出。

例如:

HTML:

<form>
<div>Other content goes here...</div>
<form id="otroform"><input type="text" class="otroform" value="meine valor" name="variable"/></form>
</form>

的javascript:

var formData = jQuery('.otroform').serializeArray();
console.log(formData);

http://jsfiddle.net/bz5ddf1L/

请参阅.serializeArray()文档: http://api.jquery.com/serializearray/

答案 1 :(得分:0)

更改代码以使外部表单使用其工作的ID:

<form id="otroform">
    <div>Other content goes here...</div>
    <form id=""><input type="text" value="meine valor" name="variable"/></form>
</form>

这是因为你不能拥有嵌套表格的问题。

JSFiddle:http://jsfiddle.net/xdydtset/1/

答案 2 :(得分:-1)

您无法使用嵌套表单。您可以使用不同的表单,但不能使用嵌套表单。

在此查看参考资料:Can you nest html forms?