gpt4 book ai didi

jquery - 未捕获的类型错误 : Cannot call method 'addMethod' of undefined in jquery validate

转载 作者:行者123 更新时间:2023-12-01 04:12:16 26 4
gpt4 key购买 nike

您好,我正在使用 jQuery JavaScript Library v1.10.2jQuery Validation Plugin 1.11.1 并收到上述错误。代码

$.validator.addMethod("fnType", function (value, element) {
if (element.value == "-1") { return false; } else {return true;}
}, "Please select Type");

其余代码用于 jquery 验证。上面的代码位于 $(document).ready$("#button").click 内。

注意:我之前使用的是jQuery JavaScript Library v1.4.4,并升级到这些版本以使用jquery validate。我从早上就被这个问题困扰了。请帮助/建议。

编辑:这是完整的代码

$(document).ready(function () {
OnPageLoad();

$("#ctl00_MainContentHolder_SubmitButton").click(function () {
ValidatePage();
if ($("#aspnetForm").valid()) {
if (FormValidation()) {
__doPostBack("Submit", "");
}
}
});
});

function ValidatePage() {
$.validator.addMethod("fnType", function (value, element) {
if (element.value == "-1") { return false; } else {return true;}
}, "Please select Type");

$("#aspnetForm").validate({
ignore:":hidden",
rules:
{
<%=Type.UniqueID %>: { required: true, fnType:true },
},
messages:
{
<%=Type.UniqueID %>:{ required: "Type is required" },
},
errorPlacement: function(error, element) {
error.appendTo('#ctl00_MainContentHolder_errorLabelTop');
},
wrapper: 'li'
});
}

在母版页中,我以相同的顺序排列这些

<script type="text/javascript" src="../Script/JQuery/jquery-1.10.2.js"></script>
<script type="text/javascript" src="../Script/JQuery/jquery.validate.js"></script>
<script type="text/javascript" src="../Script/CustomScript/CustomScript.js"></script>

编辑:这是 HTML 代码

<table>
<tr>
<td colspan="2">
<label id="errorLabelTop" runat="server" class="ResponseText"></label>
</td>
</tr>
<tr>
<td style="width:130px;">
Scheme Type<span class="RedMainText" style="font-size:12px;"><sup>*</sup></span>
</td>
<td>
<select id="schemeType" runat="server" class="InputText" >
<option value="-1">--Select--</option>
<option value="Home3">Home 3 Monthly</option>
<option value="Home6">Home 6 Monthly</option>
<option value="Practice3">Practice 3 Monthly</option>
<option value="Practice6">Practice 6 Monthly</option>
</select>
</td>
</tr>
</table>

最佳答案

您的代码:

rules: {
<%=Type.UniqueID %>: { required: true, fnType:true },
}

您无法将规则分配给输入id。您必须仅使用 name 属性来分配它们。另外,如果您希望它在旧版本的 IE 中工作,请删除所有尾随逗号。

rules: {
myField: {
required: true,
fnType: true
}
}

HTML:

<input name="myField" ...

展示验证插件不适用于id的演示:http://jsfiddle.net/hmBjY/

展示验证插件与 name 配合使用的演示:http://jsfiddle.net/NKCg9/1/

<小时/>

另外,你的代码:

function ValidatePage() {

$.validator.addMethod( ....

$("#aspnetForm").validate({ ....

这些方法不会进入函数或重复调用的click处理程序内部。 点击由插件自动捕获。 这些方法仅用于初始化,因此您可以在 DOM 就绪事件处理程序中调用它们一次...

$(document).ready(function() {

$.validator.addMethod( ....

$("#aspnetForm").validate({ ....

关于jquery - 未捕获的类型错误 : Cannot call method 'addMethod' of undefined in jquery validate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com