按钮单击时 JQuery 中的 ConfirmDialog() 自动关闭

Posted

技术标签:

【中文标题】按钮单击时 JQuery 中的 ConfirmDialog() 自动关闭【英文标题】:ConfirmDialog() in JQuery on button click closing automatically 【发布时间】:2018-12-12 12:32:03 【问题描述】:

我在JQuery 中有一个ConfirmDialog() 函数,被asp:button 点击事件调用。它工作正常,但是当我单击button 时,ConfirmDialog() 会自动关闭对话框,而无需用户单击。 我用过:

function ConfirmDialog() 

                $('<div></div>').appendTo('body')
    .html('<div><h4>' + 'Do you wanto to see previous data' + '?</h4></div>')
    .dialog(
        modal: true, title: 'Delete message', zIndex: 10000, autoOpen: true,
        width: 'auto', resizable: false,
        buttons: 
            Yes: function () 
                //                $(obj).removeAttr('onclick');
                //                $(obj).parents('.Parent').remove();

                $('body').append('<h1>Confirm Dialog Result: <i>Yes</i></h1>');
                $(this).dialog("close");
                confirm_value.value = "Yes";
            ,
            No: function () 
                $('body').append('<h1>Confirm Dialog Result: <i>No</i></h1>');
                $(this).dialog("close");
                confirm_value.value = "No";
            
        ,
        close: function (event, ui) 
            $(this).remove();
        
    );
                document.forms[0].appendChild(confirm_value);
            );

我知道页面刷新正在关闭它。然后我尝试使用 $(document).ready() 来停止自动关闭,但它不起作用:

function ConfirmDialog() 
            $(document).ready(function () 

                $('<div></div>').appendTo('body')
    .html('<div><h4>' + 'Do you wanto to see previous data' + '?</h4></div>')
    .dialog(
        modal: true, title: 'Delete message', zIndex: 10000, autoOpen: true,
        width: 'auto', resizable: false,
        buttons: 
            Yes: function () 
                //                $(obj).removeAttr('onclick');
                //                $(obj).parents('.Parent').remove();

                $('body').append('<h1>Confirm Dialog Result: <i>Yes</i></h1>');
                $(this).dialog("close");
                confirm_value.value = "Yes";
            ,
            No: function () 
                $('body').append('<h1>Confirm Dialog Result: <i>No</i></h1>');
                $(this).dialog("close");
                confirm_value.value = "No";
            
        ,
        close: function (event, ui) 
            $(this).remove();
        
    );
                document.forms[0].appendChild(confirm_value);
            );
        ; 

这是我的按钮:

<asp:Button ID="btnConfrm" runat="server" Text="View" ForeColor="Black" Width="80px"
                        CssClass="button" Height="30px" ValidationGroup="btn" OnClick="OnConfirm" OnClientClick="ConfirmDialog()"/>

【问题讨论】:

How to call confirm message from code behind in asp.net?的可能重复 是的,我使用了OnConfirm(),但问题是在我点击是或否之前,对话框会自动关闭。 否 这不是该链接的副本,这是不同的情况。 我的错误。问题有些不清楚。您可以发布您的 onConfirm() 功能代码吗?谢谢。 【参考方案1】:

按钮语法似乎不对。而 document.ready 并没有帮助你把它放在哪里。

您可以发布 onConfirm 代码 (c#) 吗?

如果你尝试这个会发生什么?

function ConfirmDialog() 

                $('<div></div>').appendTo('body')
    .html('<div><h4>' + 'Do you wanto to see previous data' + '?</h4></div>')
    .dialog(
        modal: true, title: 'Delete message', zIndex: 10000, autoOpen: true,
        width: 'auto', resizable: false,
        buttons: [
            Yes: function () 
                //                $(obj).removeAttr('onclick');
                //                $(obj).parents('.Parent').remove();

                $('body').append('<h1>Confirm Dialog Result: <i>Yes</i></h1>');
                $(this).dialog("close");
                confirm_value.value = "Yes";
            ,
            No: function () 
                $('body').append('<h1>Confirm Dialog Result: <i>No</i></h1>');
                $(this).dialog("close");
                confirm_value.value = "No";
            
        ],
        close: function (event, ui) 
            $(this).remove();
        
    );
                document.forms[0].appendChild(confirm_value);

        ; 

【讨论】:

充其量,这应该是一个评论,而不是一个答案。 别担心,当我解决他的问题时,这个答案会更新为更合适的内容。这只是我最初联系和收集更多信息以帮助澄清情况并希望找到解决方案的方式。如果其他人先解决了,我当然会删除这个答案。 不应使用答案来收集更多信息。这就是 cmets 的用途。 问题的范围和所需的信息交换量使得 cmets 功能对于这种特殊情况来说过于局限和繁琐。别担心,一切都会好的,我知道我在做什么。我已经使用了很长时间了,我只好创建这个新帐户,因为我丢失了我的登录信息。

以上是关于按钮单击时 JQuery 中的 ConfirmDialog() 自动关闭的主要内容,如果未能解决你的问题,请参考以下文章

单击 jquery-tabledit 中的编辑按钮时如何启用下拉选择框?

使用 Jquery 在单击按钮时将 PHP 文件中的 HTML 加载/预置到 div 中

当我单击具有相同类的列表中的按钮时,在顶部元素中添加类 - Jquery

单击按钮时暂时禁用悬停(jQuery)

单击qtip jquery中的按钮时获取上下文

单击时Jquery向下滑动切换更改按钮文本和图标