所以我使用.load()将一个视图加载到一个元素中 - 当我完成它时,我做一个.innerHTML =''来摆脱它。
但如果我不止一次这样做(即关闭并打开元素) - 表单肯定会介于两者之间并重新加载,但是当我提交它时会提交重复项。
以下是代码:
$('a.comments').click(function(e){
e.preventDefault();
// $('.overlaybackground').addClass('open');
Component.Overlay.toggleOverlay();
$('#commentcontainer').load($(this).attr('href'), function(){
Component.Forms.init(page, {});
});
});
$('.overlaybackground').click(function(e){
if(e.target.className == 'overlaybackground open'){
e.preventDefault();
Component.Overlay.toggleOverlay();
// $('.overlaybackground').remove('*:not(#commentcontainer)');
document.getElementById('commentcontainer').innerHTML = '';
}
});
答案 0 :(得分:0)
尝试以下方法:
$('#commentcontainer').empty()
答案 1 :(得分:0)
不确定具体方案。但是,如果您只想切换视觉效果,只需切换表单的 CSS 属性显示,而不是将其从DOM中删除:
显示:无< - >显示:块