Javascript 使用jQuery删除的Div是否仍然存在?

Javascript 使用jQuery删除的Div是否仍然存在?,javascript,jquery,html,asp.net,css,Javascript,Jquery,Html,Asp.net,Css,我在ASP.NET中有一个旧的应用程序。在带有提交按钮的表单中,我将此div放在页面顶部: <div id="submitIndication" class="saveIndication" runat="server" visible="false"> Your request has been submitted. </div> 然后,该代码处理div的淡出: jQuery(document).ready(function () { setTimeo

我在ASP.NET中有一个旧的应用程序。在带有提交按钮的表单中,我将此div放在页面顶部:

<div id="submitIndication" class="saveIndication" runat="server" visible="false">
    Your request has been submitted.
</div>
然后,该代码处理div的淡出:

jQuery(document).ready(function () {
    setTimeout(fadeOut, 4000);
});

function fadeOut() {
    jQuery("#submitIndication").slideUp(400);
};
一切正常。但是,页面上还有另外两个按钮,“预填充表单”和“选择退出”。它们调用自己的方法(btnOptOut\u Click和btnPrefillFormInfo\u Click),这两种方法都不会以任何方式触及submitIndication div

但是,在我第一次提交表单之后,当我单击“预填充表单”或“选择退出”时,页面将刷新,并且submit div再次出现在顶部。如果我在提交前单击它们,则不会发生这种情况

此时,div似乎仍在页面上,并一直显示到JavaScript将其淡出。我尝试了各种方法(将CSS visible设置为false,display设置为none,remove()、hide()、attr()等等),但似乎没有什么能摆脱这个div

这感觉应该很简单。如何使此div在提交并单击其他按钮后不显示?

尝试以下操作:

宣布DIV为:

<div id="submitIndication" class="saveIndication" runat="server" style="display:none">
    Your request has been submitted.
</div>
并使用您当前的淡出代码


更新想一想,更简单的方法也可以。保持设置中的一切不变,只需将
EnableViewState=“false”
添加到DIV的HTML定义中即可

如果刷新页面,Javascript值不会在页面之间传输。。。。然后所有的值都会重新启动。你肯定要在服务器端做点什么,使用cookies,或者干脆放弃刷新页面。最简单的方法可能是在提交后为用户创建一个全新的页面。最美观的方法可能是使用AJAX进行提交,然后在提交后使用回调来更改页面。我也不确定您所说的在提交前单击预填充表单或选择退出按钮不会显示
div
是什么意思。无论如何,值得记住的是HTTP是无状态的。因此,您必须依靠其他客户端技巧(如cookies)或服务器端存储来实现有状态事务。仅供参考,这不是经典的ASP。这是ASP.NET第二个解决方案(在您的更新中)非常有效。我很好奇这是怎么回事?是的,我觉得第一个可能不够。这里发生了什么-最初设置
visible=“false”
时,DIV根本不以HTML呈现。当您在代码隐藏中设置
visible=true
时,它会呈现,然后您会在JS代码中隐藏它,但您只会在客户端上隐藏它。当页面回发时-客户端更改丢失,但
visible=true
仍然存在,因为默认情况下控件的ViewState保留更改。禁用ViewState也会忽略这些更改。啊,太棒了。这正是我想要的。谢谢你的帮助!
<div id="submitIndication" class="saveIndication" runat="server" style="display:none">
    Your request has been submitted.
</div>
submitIndication.Style["display"] = "block";