【问题标题】:sweet alert confirm dialog in asp.netasp.net 中的甜蜜警报确认对话框
【发布时间】:2017-08-30 20:14:36
【问题描述】:

我能够在甜蜜警报中获得 isConfirm 的警报真和假,但无法将相同的警报传递给 btnSave 以在代码隐藏中调用 btnSave_Click 方法。请帮忙。使用最新的 sweetalert,从http://t4t5.github.io/sweetalert/ 下载。

<script type="text/javascript">
        $('body').on('focus', ".Datetext", function () {
            $(this).datepicker();
        });

        function Confirm(th, e) {
              e.preventDefault();
            swal({
                title: "Are you sure?",
                text: "You want to Save this project?",
                type: "warning",
                showCancelButton: true,
                confirmButtonColor: '#DD6B55',
                confirmButtonText: 'Yes, I am sure!',
                cancelButtonText: "No, cancel it!",
                closeOnConfirm: true,
                closeOnCancel: true
            },
            function (isConfirm) {
                if (isConfirm) {
                    //return true; 
                     alert("true");
                   // $(this).trigger('click');
                    $("#<%= btnSave.ClientID %>").trigger('click');
                   // e.currentTarget.submit();
                } else {
                    //  return false; 
                    // alert("False");
                }
            });
        } 
    </script> 

html

<div style="text-align: center;">
                <asp:Button ID="btnSave" CssClass="buttons___" runat="server" Font-Size="9pt" Text="Save Project" 
                    OnClick="btnSave_Click" OnClientClick="Confirm(this, event);"/>
                <asp:Button CssClass="buttons___" runat="server" Font-Size="9pt" Text="Save as Draft" />
            </div>

【问题讨论】:

    标签: javascript jquery html asp.net sweetalert


    【解决方案1】:

    我想你正在寻找这个:

            var object = { status: false, ele: null };
            function conFunction(ev) {
                var evnt = ev;
                if (object.status) { return true; }
                Swal.fire({
                    title: 'Are you sure?',
                    text: "You won't be able to modify the form once submitted",
                    icon: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes, Submit'
                    
                }).then((result) => {
                    if (result.isConfirmed) {
                        object.status = true;
                        object.ele = evnt;
                        evnt.click();
                        Swal.fire('Submitted');
                    }
                })
    
                return object.status;
            };
        
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <input type="button" id="Button3" runat="server" value="Submit" onclick="return conFunction(this);"/>

    【讨论】:

      【解决方案2】:

      请在您的代码中尝试以下更改

      <asp:Button ID="btnSave" CssClass="buttons___" runat="server" Font-Size="9pt" Text="Save Project" 
                          OnClick="btnSave_Click" OnClientClick="return Confirm(this, event);"/>
      

      在甜蜜警报的脚本中

      function (isConfirm) {
                      if (isConfirm) {
                          return true; 
                          // alert("true");
                         // $(this).trigger('click');
                          $("#<%= btnSave.ClientID %>").trigger('click');
                         // e.currentTarget.submit();
                      } else {
                            return false; 
                          // alert("False");
                      }
                  }
      

      【讨论】:

      • 是否调用函数(isConfirm)?
      • 它确实进入了 if(isConfirm) ,我在那里发出警报以进行检查。它确实弹出警报(真)..但由于某种原因它没有返回真。
      • 还有其他方法吗?
      • 你可以尝试从函数(isConfirm)调用ajax
      • 我最终使用 jquery 弹出窗口。
      猜你喜欢
      • 2021-05-23
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2023-04-03
      相关资源
      最近更新 更多