【问题标题】:Jquery confirm window not working on cancel button clickJquery确认窗口在取消按钮单击时不起作用
【发布时间】:2011-08-09 04:54:21
【问题描述】:

我在 javscript 中有以下代码可以打开一个带有是和否选项的确认对话框,但是我在打开确认对话框时遇到了一些问题。

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?');" />

【问题讨论】:

  • 您能否更具体地说明“一些问题”的含义?
  • 您面临的问题是什么?
  • 它没有进入第5行的jquery代码,当我试图通过firebug调试代码时,流程只是在第3行结束
  • 流程在第 3 行结束

标签: javascript jquery asp.net html dialog


【解决方案1】:

您的页面 1.4.1 和 1.4.2 中是否包含两个版本的 jquery?请更改它并查看。

JavaScript 中也是 String.Format 吗?这是你写的一些方法吗?请改用sprintf

【讨论】:

  • 不,即使按照您的建议更改代码后它也无法正常工作
  • +1:没有正确检查。你写的差不多了
【解决方案2】:

此代码到达第 3 行并在 JavaScript 中看到 String.Format 并在那里停止执行。

jQuery / JavaScript 中没有 String.Format。如果您对using String.Format in 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));

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    相关资源
    最近更新 更多