0

我正在开发一个网络应用程序。我有一个带有表单的页面,form1我正在推送另一个页面,其中也有一个表单form2,里面form1。这两种形式都有一些价值。我想序列化这两种形式。当我指定根表单 ( form1)时,$('#form1').serialize();它只序列化根表单 ( form1),而不是form2.

如果这样指定$('#form1, #form2').serialize();$('form').serialize();它会密封所有表格。

$('form1').serialize();这个仅序列化根表单而不是form2的jQuery有什么问题?

我尝试了一个jsFiddle 示例,它工作正常。我的网络申请表中可能存在什么问题?

4

2 回答 2

2

HTML 中不允许嵌套表单。jQuery 不是为处理它们而设计的。不要创建它们。

于 2012-10-29T11:36:26.293 回答
1

即使不支持您的目的,您也可以使用:input选择器。

$('#form1 :input').serialize();

强烈推荐使用过滤器的性能。

$('#form1 > *').filter(':input').serialize();

如果您可以解释为什么要使用嵌套表单,也许我们可以建议一些解决方法。例如,如果您仅将第二种表单用于 AJAX 请求,您可以用 div 覆盖它,以便轻松选择或给这些表单项一个额外的类,并为它们使用类似的选择器。

于 2012-10-29T11:48:32.720 回答