我正在使用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);
}
}
});
答案 0 :(得分:0)
尝试使用全局变量作为标志, 或禁用提示按钮(如果您使用按钮来调用提示) $("#promptbutton&#34)。丙("禁用",TRUE);
编辑:
更简单的解决方案是在调用saveUpdates函数之前或在函数的开头简单地关闭提示:
jQuery.prompt.close();
答案 1 :(得分:0)
我在这里创建了一个小提琴:http://jsfiddle.net/smurphy/4fqjR/
解决方案有点复杂。我认为有一种更简单的方法可以做到这一点,但在查看documentation后,我找不到任何内置功能。</ p>
以下是代码:
submit: function (value, message) {
if (value) {
$(message.prevObject)
.find('button[value="true"]')
.attr('disabled', true);
//TODO: perform save
//response = saveUpdates(LoanDetails);
}
}
message
param是对文本描述的引用,因此您可以通过从该起点导航DOM来找到该按钮。