asp.net - jQuery 替代 javascript 确认

标签 asp.net jquery confirm

假设我想在允许用户保存记录之前提示用户。因此,我们假设我在标记中定义了以下按钮:

<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click"></asp:Button>

要强制使用普通 JavaScript 进行提示,我可以将保存按钮的 OnClick 事件连接为如下所示(我可以在 Page_Load 中执行此操作):

btnSave.Attributes.Add("onclick",
    "return confirm('are you sure you want to save?');");

确认调用将被阻止,直到用户实际按下“是/否”按钮之一,这是我想要的行为。如果用户按"is",则会调用我的 btnSave_OnClick 方法。

对于等效的 jquery 对话框,我尝试了类似的操作(见下文)。但问题是,与 javascript recognize() 不同,它将一直通过此函数 (displayYesNoAlert),然后继续执行 C# 端的 btnSave_OnClick 方法。我需要一种方法使其“阻止”,直到用户按下"is"或“否”按钮,然后返回 true 或 false,以便根据用户的回答调用或不调用 btnSave_OnClick。

目前,我只是放弃并使用javascript的confirm,我只是想知道是否有办法做到这一点。

function displayYesNoAlert(msg, closeFunction) {
    dialogResult = false;

    // create the dialog if it hasn't been instantiated
    if (!$("#dialog-modal").dialog('isOpen') !== true) {

        // add a div to the DOM that will store our message
        $("<div id=\"dialog-modal\" style='text-align: left;' title='Alert!'>").appendTo("body");

        $("#dialog-modal").html(msg).dialog({
            resizable: true,
            modal: true,
            position: [300, 200],
            buttons: {
                'Yes': function () {
                    dialogResult = true;
                    $(this).dialog("close");
                },
                'No': function () {
                    dialogResult = false;
                    $(this).dialog("close");
                }
            },
            close: function () {
                if (closeFunction !== undefined) {
                    closeFunction();
                }
            }
        });
    }
    $("#dialog-modal").html(msg).dialog('open');

}

最佳答案

我使用一个回调函数,当他们单击"is"等特定按钮时会引发该函数。您将无法阻止脚本中的执行,但也无法让 UI 响应用户操作。

关于asp.net - jQuery 替代 javascript 确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4626093/

相关文章:

c# - 使用 C# 将 ASP.NET 代码动态写入 .aspx 文件

javascript - 使用 CSS 和 JavaScript 的总客户端宽度

jquery - 设置 struts 2 自动完成器的默认值

javascript - JQuery,检索子孙

javascript - 当用户尝试离开我的网页时创建弹出窗口并获取结果

Primefaces p :menuitem with p:confirm not supported

ASP.NET AJAX 应用程序在 VPN 上速度极慢

c# - 将工作时间换算为 24 小时的代码?

JavaScript 滚动事件

javascript - 确认 phantom.js 中的警报窗口