我找到了一些教程,展示了如何使用javascript为表单的输入字段设置自定义错误。示例如下:
document.getElementById('fname').setCustomValidity('Invalid');
但是,如果我尝试使用 jquery,这似乎不起作用。示例如下:
$('#fname').setCustomValidity('Invalid');
我更喜欢使用 JQuery,所以谁能告诉我为什么这不起作用,以及我如何在 JQuery 中做同样的事情。
setCustomValidity
是一种本机javascript
方法。因此,获取本地javascript object
然后调用喜欢
$('#fname').get(0).setCustomValidity('Invalid');
更新
那么为什么当我总是使用 JQuery 时,我不必输入 .get(0)。 如果可能的话,你能解释一下 get(0) 吗?
问题不在于你是否使用jQuery
。 相反,问题是你试图调用一个jQuery
对象不存在的本机javascript函数。这就是为什么使用 get() 会让你获得可以访问 javascript 函数的原生 javascript DOM
元素
试试这个:
$('#fname')[0].setCustomValidity('Invalid');