当表单中没有任何更改时显示警报框
Posted
技术标签:
【中文标题】当表单中没有任何更改时显示警报框【英文标题】:alert box shown when nothing changes are done in form 【发布时间】:2014-06-03 05:21:20 【问题描述】:当使用此插件的表单没有进行任何更改并且当用户退出表单时,它仍然显示未保存更改的警报框。所以请告诉我如何解决此问题,以便其警报框仅在更改时出现以表格形式完成。这是该插件的链接
https://github.com/snikch/jquery.dirtyforms
我通过使用特定形式的 id 来使用它
$('business-form').dirtyForms();
【问题讨论】:
如果您通过id
选择一个元素,那么您必须执行$('#id-of-the-element').whatever()
之类的操作。只需添加#
完成但仍然是同样的问题,没有对表单进行任何更改,当我重新加载表单或退出时,它会显示警告框以保存更改。
您是否尝试过打开调试并检查控制台? $.DirtyForms.debug = true;
是的,我已经尝试过了,当我重新加载或退出表单而不进行任何更改时,它仍然显示未保存更改的警报。@Owlvark
我怀疑另一个插件正在干扰。尝试禁用插件,直到问题消失。也许寻找改变元素焦点的东西,比如占位符插件。
【参考方案1】:
默认情况下,脏表单attaches event handlers to most anchor tags on the page,并假设如果单击其中一个,则用户正在尝试从页面导航。
一些第 3 方小部件在其设计中使用锚标记。如果其中任何一个导致有问题的行为,您需要手动忽略它们,方法是设置 $.DirtyForms.ignoreSelector
或将 ignoreClass
添加到元素内的每个锚点或它们所在的父容器中。
更多信息请参见Ignoring Things。
您可以使用FireBug 等工具查看小部件的标记,这样您就可以准确了解如何忽略锚标记。
【讨论】:
以上是关于当表单中没有任何更改时显示警报框的主要内容,如果未能解决你的问题,请参考以下文章
在没有文件路径的 Access 中组合框更改时显示不同的图像
当 API 返回空数据时显示警告(Vue.js / Axios)