0

我有一个显示:无的 div。在按下按钮时,我想使用 jquery 显示它。它显示出来,但在一两秒钟内它会自动隐藏。

我不是专家,无法找到我做错的地方。请帮我。

  <asp:Button runat="server" ID="btnCVUpload" Text="Upload" OnClientClick="CVConfirm()" />  <div id="divConfirmCV" style="border: dashed 2px black; background: gray; display:none;">
                A profile can have only one CV, uploading this CV will remove an existing CV. Click
                "Yes" to proceed
                <asp:Button runat="server" ID="btnCVYes" Text="Yes" />
                <asp:Button runat="server" ID="btnCVNo" OnClientClick="HideCVConfirm" Text="NO" />
            </div>




 function CVConfirm() {
            $("#divConfirmCV").css("display","block").show(1000)
        }
4

2 回答 2

5

它再次被隐藏,因为页面正在回发到服务器,并且您再次获得了一个全新的页面,按钮的初始状态被隐藏。您要么想要 a) 在页面回发之前不显示 div,在这种情况下,您可以将 div 设置为 asp:panel 或类似的东西,并在单击按钮时将其设置为可见。或者 b) 你不想使用 asp:Button,而是一个<input type=button>不会回发到服务器的常规,如果你只想显示 div 而不再次访问服务器。我会说你的代码看起来你真的想使用选项 b。因此,您的代码将是:

<input type=button ID="btnCVUpload" value="Upload" onclick="CVConfirm()" />

当然,你正在使用 jquery,所以你真的应该这样做:

<input type=button ID="btnCVUpload" value="Upload" />

<script>
  $(function(){
    $("#btnCVUpload").click(function(){
       $("#divConfirmCV").css("display","block").show(1000);
    });
  });
</script>
于 2013-01-08T04:23:15.330 回答
1

我想这样写我的jQuery

$(document).ready(function(){
    $("#<%=btnCVUpload.ClientID%>").click(function(event){
        event.preventDefault();
        $("#divConfirmCV").css("display","block").show(1000);
    });
});

preventDefault 可帮助您防止元素在特定事件(例如单击)上的默认行为。因此,除非您允许,否则回邮不会发生:)

于 2013-01-08T04:30:23.493 回答