2017-02-22 178 views
1

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

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

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

回答

2

在我的情况下,错误是在jQuery验证器的onfocusout中触发的。这是因为失去焦点的元素/字段没有ID(如果您足够难以考虑,错误消息几乎可以清除)。

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

将字段添加到解决问题的字段。

另一种解决方案是利用jQuery验证插件的ignore:特性。