使用JQuery DirtyForms插件的示例

使用JQuery DirtyForms插件的示例,jquery,jquery-plugins,jquery-dirtyforms,Jquery,Jquery Plugins,Jquery Dirtyforms,我使用jQuery DirtyForms插件来防止用户无意中离开页面而不保存。我在对话框中遇到了一些问题。我有两个按钮:取消和不保存 取消操作工作正常:对话框关闭,新页面未加载。但是,不保存操作不起作用。应该加载新页面,但没有加载 我一定错过了什么明显的东西。有人能看出我做错了什么吗 <script type="text/javascript"> $(document).ready(function(){ $('form').dirtyForms()

我使用jQuery DirtyForms插件来防止用户无意中离开页面而不保存。我在对话框中遇到了一些问题。我有两个按钮:取消和不保存

取消操作工作正常:对话框关闭,新页面未加载。但是,不保存操作不起作用。应该加载新页面,但没有加载

我一定错过了什么明显的东西。有人能看出我做错了什么吗

<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>

$(文档).ready(函数(){
$('form').dirtyForms();
});
$('a')。单击(函数(事件){
event.preventDefault();
var targetUrl=$(this.attr(“href”);
if($.DirtyForms.isDirty()){
$(“#对话框保存更改”)。对话框({
身高:250,
宽度:500,
莫代尔:是的,
按钮:{
取消:函数(){
$(此).dialog(“关闭”);
$.DirtyForms.choiceContinue=false;
$.DirtyForms.choiceCommit(事件);
},
“不保存”:函数(){
$(此).dialog(“关闭”);
$.DirtyForms.choiceContinue=true;
$.DirtyForms.choiceCommit(事件);
}
}
});
}
});
您已对此页面进行了更改。是否要离开此页而不保存

谢谢大家!


-史蒂夫

好吧,我知道这是显而易见的……希望这能帮助其他人

问题在于默认功能:

event.preventDefault();
删除此按钮后,对话框将按预期运行。

有关实现“保存更改”按钮的正确方法,请参阅。