我有一个项目列表,每当添加新项目时,都会通过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>
答案 0 :(得分:0)
如果动态加载表单,请将.submit
更改为:
$(document).on('submit', '.commentsubmit', function () {
这会将submit
事件委托给您在致电.commentsubmit
时可能无法添加到DOM的任何.on
表单。
在不相关的说明中,使用e.preventDefault()
,而不是return false
:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/