jQuery 序列化嵌套表单

jQuery serialize nested form

本文关键字:表单 嵌套 序列化 jQuery      更新时间:2023-09-26

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

JS小提琴

<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);

返回:

[]

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

提前谢谢。

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/

更改代码以使外部表单使用其工作的 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/

不能有嵌套表单。您可以有不同的表单,但不能有嵌套表单。

在这里寻找参考资料:你能嵌套html表单吗?