Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery完全删除加载的表单-_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery完全删除加载的表单-

Javascript 使用jQuery完全删除加载的表单-,javascript,jquery,Javascript,Jquery,因此,我使用.load()将视图加载到元素中,当我使用完它后,我会使用.innerHTML=''来删除它 但是,如果我不止一次(即关闭并打开元素),表单肯定会处于中间并重新加载,但是当我提交表单时,它会提交重复的表单 代码如下: $('a.comments').click(function(e){ e.preventDefault(); // $('.overlaybackground').addClass('open');

因此,我使用.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 = '';
        }
        });
请尝试以下操作:

$('#commentcontainer').empty()

不确定具体情况。但是,如果您只想切换视觉效果,只需切换表单的CSS属性display,而不是将其从DOM中删除:


display:none display:block

什么是
Component.Forms.init
?@dfsq是我的一大疏忽。我为表单准备的$(document).on('submit')在我调用open的init中被调用。这导致它一次又一次地附加事件侦听器。非常感谢。我不敢相信问题会这么简单。不,没问题,很高兴它能帮上忙。问题最终成为我的呼叫组件。每次打开它都会有表单。我不应该那样做。谢谢谢谢-但是每次都必须用不同的视角重新填充特定的元素。谢谢