Skip to content

Failed to set a named property on 'HTMLFormElement': Named property setter is not supported. #287

@thegoldenyou

Description

@thegoldenyou
版本

nice Validator 0.7.3

错误提示

jquery.validator.js:5. Uncaught TypeError: Failed to set a named property on 'HTMLFormElement': Named property setter is not supported.

报错行

s.$el[0].isValid=a?s.isFormValid():a

背景

之前的老代码,使用一直很正常,今天偶然发现 Validator 报错,最近未改动什么代码。

  • 同样的代码,Edge 浏览器下正常,Google下会报错
  • 同样的代码,生产环境运行正常,本地却会报错
提示信息
  • 表单中存在一个【id="isValid" name="isValid"】元素,将其注释掉后不再报错。
  • 最新版的 v1.1.5 也存在这个问题。报错行:me.isValid = me.$el[0].isValid = isValid ? me.isFormValid() : isValid;

看起来像属性名冲突了,但是正如我上面提到情况,之前一直都正常,没动过代码。

测试的临时处理方案

s.$el[0].isValid=a?s.isFormValid():a
我把这段代码捕获了一下(try-catch),发生异常后不做任何处理(没去设置 me.$el[0].isValid 这个属性),页面各项校验执行起来似乎也正常。
但不知道到这个问题怎么回事。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions