Validationrules IE 8中的Jquery验证-对象不支持下拉框的此属性或方法
我正在使用jquery验证来验证我的表单。它在文本框上运行良好,但当我尝试验证下拉列表时,它会抛出一个对象,仅在IE8中不支持此属性或方法错误。它在FF或铬合金中工作良好。不确定我是否做错了什么。我甚至尝试不使用定制的notEqual函数来测试它,并用内置的必需方法替换它。再一次,它给了我同样的东西 请帮忙!非常感谢 这是我的密码:Validationrules IE 8中的Jquery验证-对象不支持下拉框的此属性或方法,validationrules,Validationrules,我正在使用jquery验证来验证我的表单。它在文本框上运行良好,但当我尝试验证下拉列表时,它会抛出一个对象,仅在IE8中不支持此属性或方法错误。它在FF或铬合金中工作良好。不确定我是否做错了什么。我甚至尝试不使用定制的notEqual函数来测试它,并用内置的必需方法替换它。再一次,它给了我同样的东西 请帮忙!非常感谢 这是我的密码: $(document).ready(function () { jQuery.validator.addMethod("notEqual", funct
$(document).ready(function () {
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != param;
}, "Please specify a different (non-default) value");
$("#form1").validate({
focusInvalid: false,
focusCleanup: true,
debug: false,
onkeyup: false,
onclick: true,
onsubmit: true,
onkeyup: false,
rules: {
<%=titleText.UniqueID %>: {
required: true
},
<%=startDateText.UniqueID %>: {
required: true ,
date: true
},
<%=endHourText.UniqueID %>: {
notEqual: "00"
},
submitHandler: function(form) {
form.submit();
}
},
messages: {
<%=titleText.UniqueID %>: {
required: "Please provide a name for the event."
},
<%=startDateText.UniqueID %>: {
required: "Please enter a date for the event.",
date: "Please enter a valid date."
},
<%=endHourText.UniqueID %>: {
notEqual: "Please enter a valid end time."
}
}
});
});
提前谢谢 啊哈,就在前几天,我自己才艰难地发现了这一点。jQueryValidator尝试访问select元素的“form”属性,如果该属性为null,jQueryValidator将抛出您描述的错误 我不完全确定为什么element.form对您来说是空的。我也从来没有完全弄清楚为什么它对我来说是空的,除非它与以下事实有关:即使包含这个特定select元素的HTML正在从DOM中删除,也会触发验证 我通过在验证代码中添加一个检查来解决这个问题,这样我只验证select元素,其中element.form!=无效的您可能还需要检查element.form是否存在,因为Firefox中没有这样的属性:
if (element.form && element.form != null) { ... }
您使用的是哪个版本的jQuery?jQuery验证插件1.11.1