ConfirmDialog () в JQuery при закрытии нажатия кнопки автоматически - PullRequest
0 голосов
/ 04 июля 2018

У меня есть ConfirmDialog() функция в JQuery, вызываемая по событию asp:button click. Он работает нормально, но когда я нажимаю 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()"/>

1 Ответ

0 голосов
/ 04 июля 2018

Синтаксис кнопки выключен. И 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);

        }; 
...