是的,所以我正在创建一个使用jQuery和AJAX进行管理的新闻系统。一切都很好,除了当我创建一个新帖子,并使用AJAX将其添加到新闻文章表中时,我无法在不刷新页面的情况下编辑它。我的创建表单使用的是.submit()事件,因此我的编辑表单也是如此。发布新文章时,编辑表单有效但提交按钮不起作用,因为它是在当前.submit()范围之外创建的。
这是一些快速伪代码。
我的PHP脚本生成一个表格,其中包含一行新闻文章,然后是每个包含该表单的新闻文章下方的隐藏行。当按下编辑链接时,jQuery激活表格行。
<tr>
<td>news article</td>
</tr>
<tr style="display:none;">
<td>hidden edit form</td>
</tr>
然后我的javascript看起来像:
$('#newsCreate').submit(function() {
// do some ajax stuff to create news
// when we add the news to the list we must add the table structure
// so that means we have to add a form with an ID of "newsEdit"
// as that is how the event is triggered
});
$('#newsEdit').submit(function() {
// do some ajax stuff to edit news
// this works perfectly by itself, but when the form is dynamically created
// with the newsCreate block, this is outside the scope
});
所以希望通过我的评论你可以看到发生了什么。如何在没有复制/粘贴newsCreate.submit()内的30行代码的情况下修复此问题?