Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer jQuery验证冻结依赖字段上的IE8_Internet Explorer_Jquery Validate - Fatal编程技术网

Internet explorer jQuery验证冻结依赖字段上的IE8

Internet explorer jQuery验证冻结依赖字段上的IE8,internet-explorer,jquery-validate,Internet Explorer,Jquery Validate,下面的代码用于FF和IE8。现在(常规Win更新)IE在尝试为ev_starttime和ev_endtime应用任何一个或两个规则集时冻结。IE的CPU使用率上升到50%,但内存使用率没有受到影响。两种浏览器都没有错误消息(使用Firebug for FF和IE Developer Tools for IE)。从CPU使用率的变化来看,我认为IE陷入了一个循环,但其他人看不到这个循环。想法 $("form[name='event_form']").validate({ debug: tr

下面的代码用于FF和IE8。现在(常规Win更新)IE在尝试为
ev_starttime
ev_endtime
应用任何一个或两个规则集时冻结。IE的CPU使用率上升到50%,但内存使用率没有受到影响。两种浏览器都没有错误消息(使用Firebug for FF和IE Developer Tools for IE)。从CPU使用率的变化来看,我认为IE陷入了一个循环,但其他人看不到这个循环。想法

$("form[name='event_form']").validate({
    debug: true,
    rules: {
        title: {required:true, minlength:5},
        description: {required:true, minlength:5},
        event_type_id: "required",
        ev_start: { dateCan: true, required: true},
        ev_end:{ dateCan: true,
                 minDate: "input[name='ev_start']"
        },
        ev_starttime:{
            required: 
                function(element){
                    return $("input[name='allday']:unchecked");
                },
            time: true,
            maxTime: {
                depends: function(element) {
                            return $("input[name='ev_endtime']:filled")
                                   && $("input[name='ev_start']").valid()   
                                   && $("input[name='ev_end']").valid()
                                   && $("input[name='ev_start']").val()==$("input[name='ev_end']").val();
                        },
                param: "input[name='ev_endtime']"
            }
        },
        ev_endtime:{
            required: 
                function(element){
                    return $("input[name='allday']:unchecked")  
                },
            time: true,
            minTime: {
                depends: function(element) {
                            return $("input[name='ev_start']").valid()
                                   && $("input[name='ev_end']").valid()
                                   && $("input[name='ev_starttime']").valid()
                                   && $("input[name='ev_start']").val()==$("input[name='ev_end']").val();
                        },
                param:  "input[name='ev_starttime']"
            }

        }
    }
});
minTime和maxTime规则如下所示:

jQuery.validator.addMethod("minTime", function(value, element, param) {
        try {
            var aftertime=value.split(':');//hours and minutes

            if($(param).val()=='') throw($param.name + ' empty');
            var beforetime=$(param).val().split(':');

            var at=new Date(0,0,0,aftertime[0],aftertime[1]*1);
            var bt=new Date(0,0,0,beforetime[0],beforetime[1]*1);

            return this.optional(element) || at > bt;
        } catch(err){
            return false;
        }
    }, function(param){
        return "Time must occur after " + $(param).val();
    }
);

jQuery.validator.addMethod("maxTime", function(value, element, param) {
        try {
            var beforetime = value.split(':');//hours and minutes

            if($(param).val()=='') throw($param.name + ' empty');
            var aftertime =$(param).val().split(':');

            var at=new Date(0,0,0,aftertime[0],aftertime[1]*1);
            var bt=new Date(0,0,0,beforetime[0],beforetime[1]*1);

            return this.optional(element) || at > bt;
        } catch(err){
            return false;
        }
    }, function(param){
        return "Time must occur before " + $(param).val();
    }
);

你好我也有同样的问题(但不是代码)。我有几个PageMethod调用,IE会冻结,直到调用完成。。有没有办法在后台执行javascript代码?(对不起,我的英语不好)@paloide86:当我升级到下一个版本的jQuery时,我的问题消失了。如果那没用的话,我很抱歉。