checkValidity()在IE9及以下版本中导致错误

时间:2013-03-23 22:28:01

标签: javascript forms jquery

我在ajax表单提交中使用jQuery的checkValidity(),一切正常,直到表单有select元素。

例如,我有一个页面,根据用户选择的行数显示数据。 (选择多少行数据)... 10,20,30等。这是页面上唯一的表单。他们选择,除IE 9及以下版本外,所有浏览器都可以。

以下是表单提交脚本中导致错误的行:

if (!$(this).get(0).checkValidity()) {return false;}

IE中产生的错误是:

  

SCRIPT438:对象不支持属性或方法'checkValidity'

任何人都知道如何解决这个问题?在其他所有浏览器中都能正常工作。

1 个答案:

答案 0 :(得分:7)

  

我正在使用jQuery的checkValidity() ...

checkValidity()不是jQuery方法,而是本机DOM API方法。你引用的代码......

if (!$(this).get(0).checkValidity()) {return false;

...获取对本机DOM元素的引用(并且$(this).get(0)是多余的,可以使用this简单替换),然后在其上调用checkValidity()方法。

它在IE9及以下版本中失败,因为它们没有实现该方法。