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>

はいまたはいいえをクリックすることに基づいて、2番目の質問をする必要があるため、このように使用したいと思います。このように使用すると、2 番目の確認ダイアログがすぐに表示され、画面から飛び出します。さらに厄介なことに、画面の残りの部分をカバーする DIV がそのまま残っているため、ページ全体を更新しないとサイトを使用することさえできません。最初のダイアログがフェードアウトし、2番目のダイアログも非表示になっていることに関係していると思います。

これを解決するには?

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 に答える