72

我正在尝试使用表单方法 checkValidity()。

http://html5test.com/告诉我我的浏览器 (Chrome) 支持表单级 checkValidity 方法。

但是,使用 jsfiddle http://jsfiddle.net/LcgnQ/2/我尝试了以下 html 和 javascript 片段:

<form id="profileform" name="profileform">
    <input type="text" id="firstname" required>
    <input type="button" id="testbutton" value="Test">
</form>

$('#testbutton').bind('click',function(){

    try{
    alert($('#profileform').checkValidity());
    }
    catch(err){alert('err='+err)};
});

我收到一个错误:object has no method checkValidity()

我究竟做错了什么?

4

2 回答 2

173

尝试:

$('#profileform')[0].checkValidity()

当您选择时,$('#profileform')您将获得一个 jQuery 对象数组。要访问实际的 DOM 属性,您必须选择数组中的第一项,即原始 DOM 元素。

于 2011-09-12T11:08:26.127 回答
0

@robertc 的答案是完美的。无论如何,我只是使用 jQuery 的.get([index])函数添加另一种方法。它还检索给定索引的 DOM 元素,或者如果没有声明索引,则检索所有匹配的 DOM 元素。

最后是完全一样的,只是写得有点冗长:

$('#profileform').get(0).checkValidity()

将文档留在这里:https ://api.jquery.com/get/

于 2021-06-22T23:14:42.127 回答