Javascript 调用tab时调用脏表单检查

Javascript 调用tab时调用脏表单检查,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个window.onbeforeunload检查脏表单,它运行良好 window.onbeforeunload = function () { 'use strict'; if (isDirty === 1) { return 'You have unsaved changes'; } }; 我想在用户单击选项卡时调用它,我们的选项卡调用如下所示 <li><a href="#scheduling-tab" onclick="ret

我有一个window.onbeforeunload检查脏表单,它运行良好

window.onbeforeunload = function () {
    'use strict';
    if (isDirty === 1) {
        return 'You have unsaved changes';
    }
};
我想在用户单击选项卡时调用它,我们的选项卡调用如下所示

<li><a href="#scheduling-tab" onclick="return schedulingTabGet('CRFilingScheduling.do', null);">Scheduling</a></li>
我尝试了来自的代码示例,但不起作用。我不确定这是否有点不同。 有什么建议吗

谢谢


Tom

您正在使用jQuery UI选项卡小部件吗?这就是我回答另一个问题所需要的答案。是的,我想我们正在使用jQuery-ui-1.9.0。我们在代码jquery-ui-1.9.0.custom.min.js和custom-plugins-jquery-ui-1.9.0-compatible.js中包含了以下两个文件。schedulingTabGet和getTab与主jsp位于一个单独的文件中。如果我将它移动到一个jsp中,它就会工作。
function schedulingTabGet(url, formId) {
    return getTab('#scheduling-tab', url, formId);
}

function getTab(tabId, url, formId) {
    jQuery.get(url, jQuery(formId).serialize(), function (data) {
        jQuery(tabId).html(data);
    });

    return false;
}
function checkDirty () {
    'use strict';
    if (isDirty === 1) {
        return 'You have unsaved changes';
    }
};

window.onbeforeunload = checkDirty;

function schedulingTabGet(url, formId) {
    var msg = checkDirty();
    if (msg && confirm(msg)) {
        return getTab('#scheduling-tab', url, formId);
    }
}