3
我正在使用jQuery DirtyForms插件來防止用戶無意中在不保存的情況下離開頁面。我在對話框中遇到了一些麻煩。我有兩個按鈕:取消和不保存。使用JQuery DirtyForms插件示例
Cancel操作正常工作:對話框關閉並且新頁面未加載。但是,不保存操作不起作用。新頁面應該加載,但不會發生。
我必須錯過一些明顯的東西。任何人都可以看到我做錯了什麼?
<script type="text/javascript">
$(document).ready(function(){
$('form').dirtyForms();
});
$('a').click(function(event){
event.preventDefault();
var targetUrl = $(this).attr("href");
if($.DirtyForms.isDirty()){
$("#dialog-savechanges").dialog({
height: 250,
width: 500,
modal: true,
buttons: {
Cancel: function() {
$(this).dialog("close");
$.DirtyForms.choiceContinue = false;
$.DirtyForms.choiceCommit(event);
},
"Don't Save": function() {
$(this).dialog("close");
$.DirtyForms.choiceContinue = true;
$.DirtyForms.choiceCommit(event);
}
}
});
}
});
</script>
<div id="dialog-savechanges" title="Save Changes?">
<p>You've made changes to this page. Do you want to leave this page without saving?</p>
</div>
謝謝!
史蒂夫
請參閱[這個答案](http://stackoverflow.com/questions/35508000/stop-page-from-unloading-within-the-beforeunload-event-handler#35536912)爲正確的方式來實現保存更改按鈕。 – NightOwl888