我试图在标签之间切换时检查脏表格 - 如果表单很脏,请显示警告。
我正在使用此插件:https://github.com/snikch/jquery.dirtyforms
Ii在尝试进入外部页面时工作正常(这里我会收到警告),但是当我在标签(bootstrap)之间切换时,没有任何反应。我已经制作了一个speciale类(" .chkChange")来监听表单是否脏,但是当我点击一个标签时没有任何反应。选项卡如下所示:
<li class="setup-conditions"><a data-toggle="tab" class="chkChange" href="#setup-conditions">Procedure</a></li>
我可以使用此代码段检查表单是否有污垢,但我需要帮助来触发脏纹中的警报构建:
$('#myTab li a').click(function () {
if ($('form').dirtyForms('isDirty')) {
//alert("Form is dirty");
}
});
就像我说的,如果我将同一个类放在另一个(外部)链接上,它会提示是否有任何更改 - 机器人不在选项卡上。
答案 0 :(得分:0)
在这种情况下,您可以customize the event binding将点击处理程序附加到您的链接。
$(document).bind('bind.dirtyforms', function (ev, events) {
var originalBind = events.bind;
events.bind = function (e) {
$('#myTab li a').on('click', events.onAnchorClick);
originalBind(e);
};
});
脏表格将正确
Dirty Forms会自动忽略您的锚标记,因为它没有HREF标记。这是社区提供的一项功能,我现在正在重新考虑,因为显然有一种观点可以监控有时没有HREF的锚标签。
默认情况下,2.0.0-beta00005中的默认行为已更改为包含没有HREF标记的链接。这应该解决这个问题,因此您不需要附加活动。但是,根据您使用的库,您可能需要向Dirty Forms添加ignoreSelector
以停止观看它们。
$('form').dirtyForms({ ignoreSelector: 'a.some-class:not([href])' });