【问题标题】: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
  • 我怀疑另一个插件正在干扰。尝试禁用插件,直到问题消失。也许寻找改变元素焦点的东西,比如占位符插件。

标签: jquery html forms jquery-dirtyforms


【解决方案1】:

默认情况下,脏表单attaches event handlers to most anchor tags on the page,并假设如果单击其中一个,则用户正在尝试从页面导航。

一些第 3 方小部件在其设计中使用锚标记。如果其中任何一个导致有问题的行为,您需要手动忽略它们,方法是设置 $.DirtyForms.ignoreSelector 或将 ignoreClass 添加到元素内的每个锚点或它们所在的父容器中。

更多信息请参见Ignoring Things

您可以使用FireBug 等工具查看小部件的标记,这样您就可以准确了解如何忽略锚标记。

【讨论】:

    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 2014-04-13
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多