【问题标题】:jQuery validation Syntax error, unrecognized expression: label[for=]jQuery 验证语法错误,无法识别的表达式:label[for=]
【发布时间】:2017-02-22 21:56:25
【问题描述】:

从旧版本的 jQuery (1.10.2) 升级到 jQuery 3.1.1 后,我遇到了错误“语法错误,无法识别的表达式:标签 [for=]”。我还将 jQuery.validate 插件升级到了 1.15.1 版。

这类似于其他“语法错误,无法识别的表达式:标签...”类型的问题,但我相信它的独特性足以证明它自己的条目是正确的。多次在线搜索此消息并没有找到我偶然发现的解决方案(如下)。

在从稍微改变 UI 的下拉字段中选择是/否值后单击表单上的任何字段时会发生错误。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    在我的例子中,错误是在 jQuery 验证器的 onfocusout 中触发的。这是因为失去焦点的元素/字段没有 ID(如果您仔细考虑,错误消息几乎会清楚地说明这一点)。

    在一个相对简单的表单上,失去焦点的字段是一个不重要的触发器(通过 jQuery 类选择器)。该字段本身不需要任何验证。

    向字段添加 ID 解决了该问题。

    另一种解决方案是利用 jQuery Validation 插件的 ignore: 功能。

    【讨论】:

      猜你喜欢
      • 2015-10-12
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      相关资源
      最近更新 更多