Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 未序列化/提交动态输入_Jquery_Html_Forms_Dom_Serialization - Fatal编程技术网

Jquery 未序列化/提交动态输入

Jquery 未序列化/提交动态输入,jquery,html,forms,dom,serialization,Jquery,Html,Forms,Dom,Serialization,我有一个情态动词(除了页面上的其他情态动词外)中的以下形式(为了阅读而缩短) 表单组生成良好。但是新创建的输入永远不会被发布(甚至没有序列化),尽管元素可以通过DevTools看到: <div class="form-group row" data-rel="3"> <div class="col-md-4"> <input class="form-control" name="member[3][firstname]" type="text

我有一个情态动词(除了页面上的其他情态动词外)中的以下形式(为了阅读而缩短)

表单组生成良好。但是新创建的输入永远不会被发布(甚至没有序列化),尽管元素可以通过DevTools看到:

<div class="form-group row" data-rel="3">
    <div class="col-md-4">
        <input class="form-control" name="member[3][firstname]" type="text" value="New Firstname">
    </div>
    <div class="col-md-5">
        <input class="form-control" name="member[3][lastname]" type="text" value="New Lastname">
    </div>
    <div class="col-md-6">
        <input class="form-control" name="member[3][email]" type="text" value="New Email">
    </div>
    <div class="col-md-7">
        <input class="form-control" name="member[3][uri]" type="text" value="New URI">
    </div>                                                            
</div>
我怎样才能得到家长表?但我做错了吗?我查询了它,大多数时候它是一个错误的wrappend表单元素的问题(这里不是这种情况)

到目前为止,序列化是在客户端进行的,并且与原始输入配合良好:

$('#edit-project-form').bind('submit', function (e) {
    e.preventDefault();
    var form    = $(this);
    var div     = $(this).parent();

    console.log(form.serialize());
});
更新:我提供了更多关于代码实际位置的信息(模式)。我省略了任何服务器端代码,因为序列化在客户端已经失败了

更新2:我现在可以使用了:

form.append(next_form_group);
现在唯一让我困惑的是:它现在被注射到表单的顶部。如何将创建的表单组移动到“当前表单组”的正下方。一个简单的“insertAfter”(就像在原来的帖子中一样)可以直观地完成这项工作,但不会将新的表单组附加到表单中


提前谢谢。

我想问题在这里:

next_form_group.appendTo('#form').insertAfter(current_form_group);
您使用的是
insertAfter
,它将数据添加到id为
#form
的div之后,并且
form
标记在id为
#form
的div内部结束


因此,要处理此问题,请使用
append()
form
tag

中添加动态html,如何序列化表单数据?您检查了服务器生成的内容和接收的内容了吗?我也使用JQuery进行序列化(form.serialize)。它适用于原始输入,但不适用于生成的输入。它绝对适用:。这个问题一定在你的代码中的某个地方,这就是为什么我留下了前面的评论。您没有展示足够的代码,也没有提供足够的问题信息来帮助您Hanks Rory,我添加了更多细节。你的小提琴很好用。由于整个序列化都是在客户端进行的(到目前为止),我想这确实是一个与JQuery相关的问题,尤其是动态绑定(可能我不完全理解)我的错误——我编辑了我的文章。当然,我在表格中附加了一些信息,而不是DIV:)不,我更新了我原来的帖子。我不知道出了什么问题。谢谢你的意见。几乎可以用了。最后一个问题请看我对原始帖子的编辑:)谢谢。意思是你想让新的html放在最后?不,就在“当前表单组”后面,它可以在表单中的任何位置。可能的
$('#edit-project-form').bind('submit', function (e) {
    e.preventDefault();
    var form    = $(this);
    var div     = $(this).parent();

    console.log(form.serialize());
});
form.append(next_form_group);
next_form_group.appendTo('#form').insertAfter(current_form_group);