脏表单 - 如何忽略 parent.window.location.href 上弹出的脏表单

Posted

技术标签:

【中文标题】脏表单 - 如何忽略 parent.window.location.href 上弹出的脏表单【英文标题】:Dirty form - how to ignore dirty form pop up on parent.window.location.href 【发布时间】:2015-04-18 00:10:13 【问题描述】:
$('#js_eligibilty_discard').on('click',
    function(e) 
        $.DirtyForms.choiceContinue = true;

        $("#test").dialog('close');
        $("#js-ErrorPopup").dialog('close');

        $('body').dialogPartialLoader('Processing');

        $.ajax(
                type: "POST",
                url: GlobalVars['app_url'] + "/web/xyz/cancel?xyz=$param.xyz",

                cache: false,
                success: function(data) 
                    parent.window.location.href = GlobalVars["app_url"] + "/individual/findPlans"

                ,
                error: function(data) 
                    $('body').dialogClose();
                    alert(data.statusText);
                
            );

        return false;

        $.DirtyForms.choiceCommit(e);
    );

我收到了脏表单的默认弹出窗口。

【问题讨论】:

【参考方案1】:

默认情况下,Dirty Forms 1.x 会监视顶部文档(当托管在框架内时)。您可以通过调用 ignoreParentDocs() 禁用此功能(名称不正确,它应该是 ignoreTopDocument() 以反映它的实际作用)。

$.DirtyForms.ignoreParentDocs();

默认情况下,Dirty Forms 2.x 不再观看顶部文档,但您可以customize event binding 更改观看哪些帧以及在用户决定继续时重定向哪个目标帧。

此外,$.DirtyForms.choiceContinue$.DirtyForms.choiceCommit() 只能从对话模块中调用(在调用 fire() 之后)才能使它们产生任何效果,但从你的问题中不清楚你正在做什么.

【讨论】:

以上是关于脏表单 - 如何忽略 parent.window.location.href 上弹出的脏表单的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试在我的未绑定表单上使用脏选项。我该怎么做呢?以下是表单的所有代码。在访问 2010 [关闭]

当我尝试将表单设置为清理时,脏表单给出错误

检查表单是不是脏并在动态删除之前通知用户

Jquery .change 检查脏表单

Angular4从脏检查中排除属性

脏表格不起作用