【问题标题】:Trigger JavaScript Confirm() from code behind从后面的代码触发 JavaScript Confirm()
【发布时间】:2018-08-01 07:49:47
【问题描述】:

我正在开发一个 Asp.Net 应用程序,目前我正在尝试从后面的代码中触发 JavaScript Confirm() 弹出窗口。我想在不点击任何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

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

【问题讨论】:

    标签: javascript asp.net vb.net confirm


    【解决方案1】:

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

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

    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>
    

    【讨论】:

      【解决方案2】:

      只需修改您的 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);
      
              return false;//this will prevent submit click.
          } </script>
      

      只需在函数的最后一行添加return语句即可。

      返回假;

      我希望这个解决方案对你有所帮助。

      【讨论】:

        猜你喜欢
        • 2013-09-25
        • 1970-01-01
        • 1970-01-01
        • 2013-09-02
        • 1970-01-01
        • 2013-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多