首页 > 解决方案 > 从后面的代码触发 JavaScript Confirm()

问题描述

我正在开发一个 Asp.Net 应用程序,目前我正试图Confirm()从后面的代码中触发一个 JavaScript 弹出窗口。我想弹出而不点击任何button_click事件。

IF not blnResult then

popup message with OK& CANCEL

IF OK THEN Exit Sub

ELSE

no display

END IF 

我试图做下面的事情,但它没有触发弹出窗口,请协助。

1) 在 ASPX 中创建了一个按钮

<asp:Button ID="btnConfirm" runat="server" Text="Delete-All" OnClick="btnConfirm_Click" OnClientClick="Confirm()"/>

JavaScript 函数

<script language="javascript" type = "text/javascript">
    function Confirm() {
        var confirm_value1 = document.createElement("INPUT");
        confirm_value1.type = "hidden";
        confirm_value1.name = "confirm_value";
        if (confirm("Do you want to delete all records?")) {
            confirm_value1.value = "Yes";
        } else {
            confirm_value1.value = "No";
        }
        document.forms[0].appendChild(confirm_value1);
    }
</script>

后面的代码,

Public function GetConfirmation()

btnConfirm_Click(btnConfirm, EventArgs.Empty)

End Sub

上面的行没有为我触发弹出窗口。

标签: javascriptasp.netvb.netconfirm

解决方案


如果我理解正确,那么您可能只想在用户单击是确认时才在单击事件后面调用您的代码。有很多方法可以做到这一点。我列出了其中的几个。选择最适合您的。

不知道您为什么创建了一个隐藏的输入字段。创建它的目的是什么。如果您不需要隐藏输入文件,您可以尝试这些。

  1. HTML 标签中的确认
<asp:Button ID="btnConfirm" runat="server" Text="Delete-All" OnClick="btnConfirm_Click" OnClientClick="return confirm('Do you want to delete all records?');"/>
  1. JavaScript 中的确认
<asp:Button ID="btnConfirm" runat="server" Text="Delete-All" OnClick="btnConfirm_Click" OnClientClick="Confirm();"/>

<script language="javascript" type="text/javascript">
    function Confirm() {
        return confirm("Do you want to delete all records?");
    }
</script>

或者

<script language="javascript" type="text/javascript">
    function Confirm() {
        var result = confirm("Do you want to delete all records?");    
        return result;
    }
</script>

如果您确实需要保留隐藏的输入字段,请在下面使用。

<script language="javascript" type="text/javascript">
    function Confirm() {
        var confirm_value1 = document.createElement("INPUT");
        confirm_value1.type = "hidden";
        confirm_value1.name = "confirm_value";

        var result = confirm("Do you want to delete all records?");    
        confirm_value1.value = result ? "Yes" : "No";    
        document.forms[0].appendChild(confirm_value1);    
        return result;    
    }
</script>

推荐阅读