我有一个ajax评论系统,它会在提交表单时显示在表单下方提交的评论。我在页面上的不同位置有两个相同的表单,但只有顶部表单被重置,并且插入的注释低于它。如何在表单的所有实例后插入?
$(".reply").keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
var that = this;
//enter pressed
$.ajax({
type: 'post',
url: '/private/poll/reply',
data: $(this).serialize(),
success: function (data) {
var parent = $(that).find('input[name=parent]').val();
// $("#comment_"+parent).append(data);
$(data).insertAfter("#comment_"+parent);
document.getElementById("form_"+parent).reset();
}
});
}
});
答案 0 :(得分:0)
我的假设是你有两个使用相同ID的输入。页面上的ID必须是唯一的。例如,您不能在页面上#comment_parent
两次。
您的代码正在做的是找到#comment_parent
的第一个实例并使用它。该脚本将忽略其余部分,因为不应该有多个#comment_parent
。
解决方案?使用#comment_top_parent
和#form_top_parent
然后在您的脚本中,更新部分以包含该更改:
$(data).insertAfter("#comment_top"+parent);
document.getElementById("form_top"+parent).reset();
$(data).insertAfter("#comment_bottom"+parent);
document.getElementById("form_bottom"+parent).reset();