Jquery alertify确认后确认不起作用

时间:2013-06-01 10:42:00

标签: jquery alertify

我在我的对话框中使用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保持不变,因此我甚至无法在不刷新整个页面的情况下使用该网站。我想这与第一个淡出的对话框有关,也隐藏了第二个对话框。

如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

尝试使用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;
}

答案 1 :(得分:0)

真的需要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.");
    }
}