Грязная форма - как игнорировать грязную форму, всплывающую на parent.window.location.href

$('#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 ответ

Грязные формы 1.x по умолчанию просматривает верхний документ (если он находится внутри фрейма). Вы можете отключить эту функцию, вызвав ignoreParentDocs() (который имеет неправильное имя, он должен быть ignoreTopDocument() чтобы отразить то, что он на самом деле делает).

$.DirtyForms.ignoreParentDocs();

Dirty Forms 2.x больше не просматривает верхний документ по умолчанию, но вы можете настроить привязку событий, чтобы изменить, какие кадры просматриваются и какой целевой кадр перенаправлять, если пользователь решит продолжить.

Также, $.DirtyForms.choiceContinue а также $.DirtyForms.choiceCommit() может быть вызван только из диалогового модуля (после fire() называется) для них, чтобы иметь какой-либо эффект, но из вашего вопроса неясно, это то, что вы делаете.

Другие вопросы по тегам