1

我有一个项目列表,每当添加新项目时,它都会通过 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>    
4

1 回答 1

0

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

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

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

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

于 2013-01-29T23:36:16.443 回答