因此,我正在使用.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 = '';
        }
        });

最佳答案

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

display:none display:block

07-24 17:11