5

我正在为我的对话框使用 Alertify Jquery 插件。问题是确认后的确认似乎不起作用:

<img onclick="go()" src="test.jpg">
<script type="text/javascript">
// confirm dialog
function go(){

  alertify.confirm("Reset password?", function (e) {
    if (e) {
        // user clicked "ok"
        secondconfirm();
    } else {
        // user clicked "cancel"
    }
  });
}

function secondconfirm(){

  alertify.confirm("Password is changed<br>Mail it to the user?", function (e) {
    if (e) {
        //Done
        alertify.success("Password reset and mailed to user.");
    } else {
        // user clicked "cancel"
        alertify.success("Password reset.");
    }
  });
}
</script>

我想以这种方式使用它,因为基于单击是或否,必须提出第二个问题。如果我这样使用它,第二个确认对话框会很快出现,然后弹出屏幕。更烦人的是,覆盖屏幕其余部分的 DIV 保持在原位,所以我什至不能在不刷新整个页面的情况下使用该站点。我想这与第一个对话框淡出有关,也隐藏了第二个对话框。

如何解决这个问题?

4

2 回答 2

3

尝试secondconfirm使用以下方法延迟方法主体的执行setTimeout

function secondconfirm() {
    setTimeout(function () {
        alertify.confirm("Password is changed<br>Mail it to the user?", function (e) {
            if (e) {
                //Done
                alertify.success("Password reset and mailed to user.");
            } else {
                // user clicked "cancel"
                alertify.success("Password reset.");
            }
        });
    }, 1000); // I went as low as 300 ms, but higher value is safer :)
    return true;
}
于 2013-06-03T12:15:35.347 回答
1

真的需要alertify吗?我们可以尝试确认本身。

if(confirm("Reset password?"))
{
 // user clicked "ok"
 secondconfirm(); 
} 
else
{
// user clicked "cancel"
} 



function secondconfirm(){

  if(confirm("Password is changed<br>Mail it to the user?") {
         //Done
        alert("Password reset and mailed to user.");
    } else {
        // user clicked "cancel"
        alert("Password reset.");
    }
}
于 2013-06-03T11:48:09.463 回答