如何在离开页面时警告用户,而不是在按下按钮时?

时间:2017-07-25 10:10:26

标签: javascript c# asp.net

我希望用户在离开网页时收到警告。我还希望用户在按下按钮提交内容时获得不同的提醒。当您离开网页时,一切正常,但当您按提交时,您会看到两条警告消息。如何才能显示一个警报?

<asp:Button Style="display: inline-block; margin-left: 120px; margin-top: 10px;" ID="SendEmail" runat="server" CssClass="btn-flat success" Text="Send email" OnClick="btnUpdate_click" Visible="true" Enabled="True" OnSubmit="window.onbeforeunload = false;" OnClientClick="if ( !confirm('Are you sure you want to send this email?')) return false;"/>
    <script>

        window.onbeforeunload = function () {
         return "Do you want to leave this page?";
   }

我使用window.onbeforeunload离开网页,并在按下提交按钮时调用OnClientClick。我没有使用Javascript的经验,所以我不确定我在做什么。

1 个答案:

答案 0 :(得分:0)

您可以在点击提交时设置变量。所以当它确实没有显示window.onbeforeunload消息时。

做这样的事。

 <asp:Button Style="display: inline-block; margin-left: 120px; margin-top: 10px;" ID="SendEmail" runat="server" 
                CssClass="btn-flat success" Text="Send email" OnClick="btnUpdate_click" Visible="true" Enabled="True" 
                OnSubmit="window.onbeforeunload = false;" OnClientClick="return Confirm();" />

和JS

var IsSubmit = false;

function Confirm()
{
    IsSubmit = true;
    if ( !confirm('Are you sure you want to send this email?')) 
        return false;
}

if(IsSubmit != true)
{
    window.onbeforeunload = function () {
         return "Do you want to leave this page?";
   }
}

由于