从 Ajax 响应提交表单

Submitting Forms from Ajax Response

本文关键字:表单 提交 响应 Ajax      更新时间:2023-09-26

我有一个项目列表,每当添加新项目时,它都会通过 ajax 调用动态更新。每个列表项中都包含一个注释窗体,该窗体具有注释字段和隐藏字段,该字段指示已注释的项。

我正在使用jquery表单插件使用ajax提交这些表单。我一直遇到的问题是插件无法识别表单,因此它们正常运行(发布并重定向到 ajax/comment.php)。在进行了一些挖掘之后,我认为这是因为表单是动态加载的,脚本无法"看到"它们。我已经读过关于 eval() 是让脚本正确运行的可能解决方案。现在,如果我不使用 ajax 填充页面,代码可以正确执行。

 <script>
$(document).ready(function() { 
var options = {  
    url: 'ajax/comment.php',
}; 
$('.commentsubmit').submit(function() { 
    $(this).ajaxSubmit(options); 
    return false; 
}); 
}); 
</script>    

如果表单是动态加载的,请将.submit更改为:

$(document).on('submit', '.commentsubmit', function () {

这会将submit事件委托给任何.commentsubmit表单,这些表单在您调用 .on 时可能不会添加到 DOM 中。

在不相关的说明中,使用 e.preventDefault() ,而不是 return false : http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/