Javascript 使用jQuery完全删除加载的表单-
因此,我使用.load()将视图加载到元素中,当我使用完它后,我会使用.innerHTML=''来删除它 但是,如果我不止一次(即关闭并打开元素),表单肯定会处于中间并重新加载,但是当我提交表单时,它会提交重复的表单 代码如下:Javascript 使用jQuery完全删除加载的表单-,javascript,jquery,Javascript,Jquery,因此,我使用.load()将视图加载到元素中,当我使用完它后,我会使用.innerHTML=''来删除它 但是,如果我不止一次(即关闭并打开元素),表单肯定会处于中间并重新加载,但是当我提交表单时,它会提交重复的表单 代码如下: $('a.comments').click(function(e){ e.preventDefault(); // $('.overlaybackground').addClass('open');
$('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 = '';
}
});
请尝试以下操作:
$('#commentcontainer').empty()
不确定具体情况。但是,如果您只想切换视觉效果,只需切换表单的CSS属性display,而不是将其从DOM中删除:
display:none display:block什么是
Component.Forms.init
?@dfsq是我的一大疏忽。我为表单准备的$(document).on('submit')在我调用open的init中被调用。这导致它一次又一次地附加事件侦听器。非常感谢。我不敢相信问题会这么简单。不,没问题,很高兴它能帮上忙。问题最终成为我的呼叫组件。每次打开它都会有表单。我不应该那样做。谢谢谢谢-但是每次都必须用不同的视角重新填充特定的元素。谢谢