Javascript 如何使用JQuery对输入标记执行HTML5验证?对这种情况有些怀疑
我对JQuery非常陌生,在验证HTML5输入标记时发现了一些困难 因此,在我的页面中,我有以下输入标记:Javascript 如何使用JQuery对输入标记执行HTML5验证?对这种情况有些怀疑,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我对JQuery非常陌生,在验证HTML5输入标记时发现了一些困难 因此,在我的页面中,我有以下输入标记: <input id="variazioneAnticipo" class="rightAlligned form-control" style="width:50%" type="number" step="0.01" /> 在这里我遇到了问题,因为以前的JQuery脚本无法工作,在FireBug控制台中,我获得了以下错误消息: TypeError: $(...).check
<input id="variazioneAnticipo" class="rightAlligned form-control" style="width:50%" type="number" step="0.01" />
在这里我遇到了问题,因为以前的JQuery脚本无法工作,在FireBug控制台中,我获得了以下错误消息:
TypeError: $(...).checkValidity is not a function
alert($('#variazioneAnticipo').checkValidity());
但使用JavaScript似乎是可行的,通过这种方式:
document.getElementById('variazioneAnticipo').checkValidity();
我认为这可能取决于这样一个事实,即checkValidity()不是$('variazionenticipo')JQuery选择器返回的对象的函数,而只是纯JavaScriptdocument.getElementById('variazionentipo')选择器的函数
还是我遗漏了什么?我认为两者都返回具有特定ID的HTML元素,并且checkValidity()函数适用于此HTML对象,无论是使用JQuery还是纯JavaScript检索。但似乎并非如此。我错过了什么
如何使用JQuery而不是代码中的纯JavaScript执行HTML5验证?目前,JQuery的包装器中没有直接的HTML5验证api。但您可以通过以下方式访问本机对象:
$('#variazioneAnticipo')[0]
所以你可以写:
$('#variazioneAnticipo')[0].checkValidity();
当您选择
$(“#variazionenticipo”)
时,您会得到一个节点集合,要访问实际的DOM属性,您必须选择第一个。是的,您是对的$(“#variazionenticpo”)
返回一个jQuery对象,该对象没有方法checkValidity
。。。。它是HTMLFormElement
objectHi Andrea的成员,两者都返回非常不同的对象。试试这个try警报(this.checkValidity())
您可以执行$('variazionenticipo')[0]。checkValidity()
-其中$('variazionenticipo')[0]
将返回dom元素引用。我猜您也可以在回调中使用this
获得它。是的,它将在回调中工作。但并非所有地方都如此。
$('#variazioneAnticipo')[0]
$('#variazioneAnticipo')[0].checkValidity();
$('#variazioneAnticipo')[0].checkValidity()