从Ajax响应中提交表单

时间:2013-01-29 23:28:16

标签: javascript jquery ajax

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

1 个答案:

答案 0 :(得分:0)

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

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

这会将submit事件委托给您在致电.commentsubmit时可能无法添加到DOM的任何.on表单。

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