2017-02-22 179 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:特性。