我正在使用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);
}
}
});
最佳答案
我在这里创建了一个小提琴:http://jsfiddle.net/smurphy/4fqjR/
解决方案有点令人费解。我以为会有一种更简单的方法,但是在浏览documentation之后,我找不到任何内置功能。
这是代码:
submit: function (value, message) {
if (value) {
$(message.prevObject)
.find('button[value="true"]')
.attr('disabled', true);
//TODO: perform save
//response = saveUpdates(LoanDetails);
}
}
message
参数是对文本描述的引用,因此您可以通过从该起点浏览DOM来找到按钮。