Javascript 表格不';插入Ajax后不序列化
这件事让我毛骨悚然。我有40行简单表单,它们是从mysql数据库动态生成的。每个表单都有一个基于数据库ID的唯一ID。单击“提交”后,结果将更新到数据库中并插入到div(#result)中 第一次就很完美。但是,在第一次之后,脚本将不会序列化更新的表单数据。ID正常(通过警报检查),但formData为空(也通过警报检查) 认为我需要以某种方式重新定位表单?任何帮助都将不胜感激。谢谢Javascript 表格不';插入Ajax后不序列化,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,这件事让我毛骨悚然。我有40行简单表单,它们是从mysql数据库动态生成的。每个表单都有一个基于数据库ID的唯一ID。单击“提交”后,结果将更新到数据库中并插入到div(#result)中 第一次就很完美。但是,在第一次之后,脚本将不会序列化更新的表单数据。ID正常(通过警报检查),但formData为空(也通过警报检查) 认为我需要以某种方式重新定位表单?任何帮助都将不胜感激。谢谢 $('#result').on('click', '.submitform', function () {
$('#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中的divArrgh-这毕竟是结构。虽然它第一次工作,但表结构阻止它第二次工作。我不知道为什么。。。但你来了。谢谢你的帮助 什么是“.submitform”元素?向我们展示你的HTML。如果它是一个提交按钮,很可能它的id与表单id不匹配。尝试使用此按钮显示服务器响应
的外观,因为您正在覆盖#结果
中的$(“#结果”).html(服务器响应).Show()中的内容代码>。server\u response
是否有一个有效的.submitform
和一个同样有效的id
?是的,每个表单都有一个id。我在初始视图和插入中使用了一个php include,因此表单完全相同。这是HTML。由于表格的原因,有点僵硬,但不要认为它是结构,因为它最初是工作的。代码>但是按钮确实可以工作(因为它通过警报返回按钮的ID),但是脚本似乎看不到表单ID。但是,如果我要重新初始化.submitform按钮,我该怎么做?我想是用了,你是怎么做的?谢谢。好吧,你说得对。。。是$('#'+id+'-form')
在#result
中吗?是的。ID读起来很好,我实际上可以返回表单ID,但它似乎不想获取表单数据本身。我是否必须在表单的开头添加“$(“#结果”)”?我的语法理解有点糟糕。