2017-01-07 10 views
0

msgBoxが表示されているときにページのリダイレクトを停止し、ユーザーがボックスのボタンを押すまで待機します。msgboxが表示された後にリダイレクトするページを停止する

ページがアンロードされたときでもmsgboxを表示できますが、ユーザーの入力を待たずにページが別のWebページにリダイレクトされます。

<script> 
    $(window).bind('beforeunload', function() { 
     msgbox(); 
    }); 

    function msgbox() { 

     $.msgBox({ 
      title: "Confirmation", 
      content: "Do you agree with the information provided?", 
      type: "confirm", 
      buttons: [{ value: "Yes" }, { value: "No" }], 
      success: function (result) { 
       if (result == "Yes") { 
        window.location.replace("somepage/controller/func2"); 
       } else { 
        window.location.replace("somepage/controller/func1"); 
       } 
      } 
     }); 
    } 
</script> 

答えて

0

msgboxがトリガーされるとリダイレクトが設定されることはありますか?

これを試してください:

$(window).bind('beforeunload', function() { 
    msgbox(); 
    return false; 
}); 

追加Return falseが起きてから、任意のさらなる処理を防止し、メッセージボックスにさらに実行に関する制御を与えます。

+0

しかし、ここでは、「あなたが行った変更は保存されないかもしれません」というLeaveとStayオプションの警告が表示されるようになりました。クリックすると、msgboxが表示されます。 –

+0

@SahibUzZamanこれは、beforeunloadイベントでは避けられません。 セキュリティ上の理由から、またデフォルトのためです。 詳細については、[SO answer](http://stackoverflow.com/a/32018719/2588459)を参照してください。 – harkirat1892

関連する問題