Окно подтверждения запроса не работает при нажатии кнопки отмены - PullRequest
0 голосов
/ 09 августа 2011

У меня есть следующий код в javscript, чтобы открыть диалоговое окно подтверждения с параметрами yes и no, но я столкнулся с некоторой проблемой при открытии диалогового окна подтверждения.

function ConfirmDialog(obj, title, dialogText) {
    if (!dialogConfirmed) {
        $('body').append(String.Format("<div id='dialog' title='{0}'><p>{1}</p></div>",
                    title, dialogText));

        $('#dialog').dialog
                ({
                    height: 150,
                    modal: true,
                    resizable: false,
                    draggable: false,

                    close: function (event, ui) { $('body').find('#dialog').remove(); },
                    buttons:
                    {
                        'Yes': function () {
                            $(this).dialog('close');
                            dialogConfirmed = true;
                            GetRadWindow().close();
                            if (obj) obj.click();
                        },
                        'No': function () {
                            $(this).dialog('close');
                        }
                    }
                });
    }

    return dialogConfirmed;
}

Это мой код на странице aspx

 <script type="text/javascript" src="Scripts/jquery-1.4.2.min.js"></script>
                <script type="text/javascript" src="Scripts/jquery-ui-1.8.2.custom.min.js"></script>
                 <script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>

            <input id="Button2" type="button" value="Cancel" onclick="return ConfirmDialog(this, 'Confirmation', 'Are you sure want to close the window?');" />

Ответы [ 2 ]

2 голосов
/ 09 августа 2011

Может ли быть так, что вы включаете две версии jquery на своей странице 1.4.1 и 1.4.2? Пожалуйста, измените это и посмотрите.

Также String.Format в JavaScript? это какой-то метод, который вы написали? Вместо этого используйте sprintf .

1 голос
/ 09 августа 2011

Этот код достигает строки 3 и видит String.Format внутри JavaScript и останавливает выполнение там.

Существует нет String.Format в jQuery / JavaScript. Если вы в частности используете String.Format в JavaScript , создайте его самостоятельно.

String.prototype.format = function() {
    var formatted = this;
    for (var i = 0; i < arguments.length; i++) {
        var regexp = new RegExp('\\{'+i+'\\}', 'gi');
        formatted = formatted.replace(regexp, arguments[i]);
    }
    return formatted;
};

И используйте это как

$('body').append("<div id='dialog' title='{0}'><p>{1}</p></div>".format(title, dialogText));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...