如何禁用Jquery提示保存按钮在第一次点击

How to disable Jquery prompt save button on first click

本文关键字:第一次 按钮 保存 何禁用 Jquery 提示      更新时间:2023-09-26

我使用jQuery提示提示用户保存。因此,当用户单击Save按钮时,将显示Jquery提示并询问用户是否确定要保存更改。问题是,在提示关闭之前,用户可以多次单击jQuery Save提示按钮。因此,每次单击提示保存按钮时,我的保存例程都会运行一次,这会导致数据库中出现重复的记录。我需要禁用提示保存按钮上的第一次单击或简单地关闭提示窗口上的第一次单击,以防止多次保存。我该怎么做呢?

客户机代码:

$.prompt("Are you sure you want to save? You will not be able to change your decision after it's been saved.", {
    title: "Save?",
    buttons: { "Save": true, "Cancel": false },
    submit: function (e, v, m, f) {
        if (v) {
            response = saveUpdates(LoanDetails);
        }
    }
});

我在这里创建了一个提琴:http://jsfiddle.net/smurphy/4fqjR/

解决方案有点复杂。我以为会有一个更简单的方法来做到这一点,但在看完文档后,我找不到任何内置的功能。

代码如下:

submit: function (value, message) {
        if (value) {
            $(message.prevObject)
               .find('button[value="true"]')
               .attr('disabled', true);
            //TODO: perform save 
            //response = saveUpdates(LoanDetails);
        }
    }

message参数是对文本描述的引用,因此您可以通过从该起始点在DOM周围导航来找到按钮。

尝试使用全局变量作为标志,或者禁用提示按钮(如果使用按钮调用提示)$ (" # promptbutton ") .prop("禁用",真的);

编辑:

更简单的解决方案是在调用saveUpdates函数之前或在函数开始处关闭提示符:

jQuery.prompt.close();