我使用JQuery验证器作为表单验证。如果我通过链接打开html页面,验证程序就可以正常工作。但是,如果我在div中加载“ my_link”,则会显示错误。
jquery.validate.js已包括在内,我可以在表单提交时看到验证程序错误响应,这意味着js
文件正在运行,但没有看到validate()
作为功能。
错误是:
VM23000:10 Uncaught TypeError:$(...)。valid不是函数
代码错误行:$("#my_form_id").valid()
要在div
中加载页面,我在下面使用标准代码
$("#content").load("https://my_link/");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="content" style="width:100%; height:100%;"></div>
答案 0 :(得分:0)
但它没有将
validate()
视为函数。
您的错误全都与validate()
有关,但您对调用.validate()
方法的位置一无所知。您还向我们展示了您包含jQuery,而没有展示您包含jQuery Validate插件的地方。
您必须在构造表单后 调用.validate()
方法。如果要通过Ajax将表单的标记加载到此页面上,则只能在完成Ajax后 调用此表单上的.validate()
方法。您的错误表明您在表单存在之前调用了.validate()
和/或未包含插件。
因此,假设您正在使用my_link
加载表单,并且正确包含了该插件。
$("#content").load("https://my_link/", function() {
// fires upon completion of .load()
$('#yourform').validate({ // INITIALIZE jQuery Validate here
// your rules & options
});
});