2

我正在使用 jQuery 提示来提示用户保存。因此,用户单击“保存”按钮,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);
        }
    }
});
4

2 回答 2

0

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

编辑:

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

jQuery.prompt.close();
于 2014-05-16T14:01:01.133 回答
0

我在这里创建了一个小提琴: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 中导航来找到该按钮。

于 2014-05-16T14:17:49.793 回答