Validationrules IE 8中的Jquery验证-对象不支持下拉框的此属性或方法

Validationrules IE 8中的Jquery验证-对象不支持下拉框的此属性或方法,validationrules,Validationrules,我正在使用jquery验证来验证我的表单。它在文本框上运行良好,但当我尝试验证下拉列表时,它会抛出一个对象,仅在IE8中不支持此属性或方法错误。它在FF或铬合金中工作良好。不确定我是否做错了什么。我甚至尝试不使用定制的notEqual函数来测试它,并用内置的必需方法替换它。再一次,它给了我同样的东西 请帮忙!非常感谢 这是我的密码: $(document).ready(function () { jQuery.validator.addMethod("notEqual", funct

我正在使用jquery验证来验证我的表单。它在文本框上运行良好,但当我尝试验证下拉列表时,它会抛出一个对象,仅在IE8中不支持此属性或方法错误。它在FF或铬合金中工作良好。不确定我是否做错了什么。我甚至尝试不使用定制的notEqual函数来测试它,并用内置的必需方法替换它。再一次,它给了我同样的东西

请帮忙!非常感谢

这是我的密码:

$(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