【问题标题】:How can I find what triggered a dirtyforms popup?如何找到触发了dirtyforms 弹出窗口的原因?
【发布时间】:2014-10-09 09:20:24
【问题描述】:

我有一个通常适用于脏表单的表单。但是,在一种情况下,当单击日期时,jquery-ui 数据选择器日历会弹出“确定”对话框。

我强调这通常可以正常工作。这种情况与表单数据源的初始条件有关。当被引用的对象存在时,事情会起作用,但如果它是新的,则不会。所以我确信表单的初始条件有所不同。但理论上形式应该是相同的。

如何找到导致弹出窗口的原因以便解决我的问题?

【问题讨论】:

  • 一些代码将帮助我们帮助您。
  • 嗯,通过比较工作和非工作情况的 HTML,我确实找到了导致我的问题的原因。 (这不是一件容易的事,因为有许多不相关的差异。)

标签: jquery-plugins datepicker popupwindow dirty-data jquery-dirtyforms


【解决方案1】:

嗯,通过比较工作和非工作情况的 HTML,我确实找到了导致问题的原因。 (这不是一件容易的事,因为有许多不相关的差异。)

似乎原始编码器做了一件奇怪的事情。当页面是“新的”时省略了一些 Javascript 函数声明,但当然并没有消除对这些函数的调用。

所以我猜想 JavaScript 错误是根本原因。至少当我包含这些函数声明时,一切正常。

【讨论】:

    【解决方案2】:

    默认情况下,most anchor links on the page will trigger the dialog。我们没有所有潜在的第 3 方小部件的硬编码选择器,您必须手动清点这些小部件是否使用超链接,并在它们导致错误行为时忽略它们。

    更多信息请参见ignoring things

    我无法使用 Dirty Forms 2.0.0、jQuery UI 1.11.3 和 jQuery 1.11.3 重现此行为。但是,在旧版本的脏表单中,您可能可以使用以下代码来忽略来自 DatePicker 的超链接点击。

    $('.ui-datepicker a').addClass($.DirtyForms.ignoreClass);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 2022-06-12
      • 1970-01-01
      • 2021-04-20
      • 2011-10-04
      • 2015-09-18
      • 1970-01-01
      相关资源
      最近更新 更多