Javascript 表格不';插入Ajax后不序列化

Javascript 表格不';插入Ajax后不序列化,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,这件事让我毛骨悚然。我有40行简单表单,它们是从mysql数据库动态生成的。每个表单都有一个基于数据库ID的唯一ID。单击“提交”后,结果将更新到数据库中并插入到div(#result)中 第一次就很完美。但是,在第一次之后,脚本将不会序列化更新的表单数据。ID正常(通过警报检查),但formData为空(也通过警报检查) 认为我需要以某种方式重新定位表单?任何帮助都将不胜感激。谢谢 $('#result').on('click', '.submitform', function () {

这件事让我毛骨悚然。我有40行简单表单,它们是从mysql数据库动态生成的。每个表单都有一个基于数据库ID的唯一ID。单击“提交”后,结果将更新到数据库中并插入到div(#result)中

第一次就很完美。但是,在第一次之后,脚本将不会序列化更新的表单数据。ID正常(通过警报检查),但formData为空(也通过警报检查)

认为我需要以某种方式重新定位表单?任何帮助都将不胜感激。谢谢

$('#result').on('click', '.submitform', function () {
    var id = $(this).attr('id');
    var formData = $('#'+id+'-form').serialize();
    $.ajax({
        type: "POST",
        url: "ajax-process-form.php",
        data: formData,
        cache: false,
        success: function(server_response){
            $("#result").html(server_response).show();
        }
    });
    return false;
});

只是推理。。。我可能错了

此代码

$('#result').on('click', '.submitform'
绑定到结果上的单击事件并筛选
.submitform
,然后执行
作为
.submitform

当成功来自服务器时,您正在重写
#result

$("#result").html(server_response)
如果
server\u response
不包含
.submitform
,则不会执行对第一个
onclick
事件的下一次调用,因为
.submitform
不再存在于
\result

$("#result").html(server_response)

如果这是错误,则要解决此问题,请使用另一个div来显示结果,而不是使用
#result
,或者将单击绑定到另一个单独的、不包含在div中的div

Arrgh-这毕竟是结构。虽然它第一次工作,但表结构阻止它第二次工作。我不知道为什么。。。但你来了。谢谢你的帮助

什么是“.submitform”元素?向我们展示你的HTML。如果它是一个提交按钮,很可能它的id与表单id不匹配。尝试使用此按钮显示
服务器响应
的外观,因为您正在覆盖
#结果
中的
$(“#结果”).html(服务器响应).Show()中的内容
server\u response
是否有一个有效的
.submitform
和一个同样有效的
id
?是的,每个表单都有一个id。我在初始视图和插入中使用了一个php include,因此表单完全相同。这是HTML。由于表格的原因,有点僵硬,但不要认为它是结构,因为它最初是工作的。
但是按钮确实可以工作(因为它通过警报返回按钮的ID),但是脚本似乎看不到表单ID。但是,如果我要重新初始化.submitform按钮,我该怎么做?我想是用了,你是怎么做的?谢谢。好吧,你说得对。。。是
$('#'+id+'-form')
#result
中吗?是的。ID读起来很好,我实际上可以返回表单ID,但它似乎不想获取表单数据本身。我是否必须在表单的开头添加“$(“#结果”)”?我的语法理解有点糟糕。