'with' is not allowed in strict mode JS文件的严格模式怎么修改with相关的

var obj = theForm || event.srcElement;
        var count = obj.elements.length;
        this.ErrorMessage.length = 1;
        this.ErrorItem.length = 1;
        this.ErrorItem[0] = obj;
        for(var i=0;i<count;i++){
            with(obj.elements[i]){
                var _dataType = getAttribute("dataType");
                if(typeof(_dataType) == "object" || typeof(this[_dataType]) == "undefined")  continue;
                this.ClearState(obj.elements[i]);
                if(getAttribute("require") == "false" && value == "") continue;
                switch(_dataType){
                    case "Date" :
                    case "Repeat" :
                    case "Range" :
                    case "Compare" :
                    case "Custom" :
                    case "Group" : 
                    case "Limit" :
                    case "LimitB" :
                    case "SafeString" :
                        if(!eval(this[_dataType]))  {
                            this.AddError(i, getAttribute("msg"));
                        }
                        break;
                    default :
                        if(!this[_dataType].test(value)){
                            this.AddError(i, getAttribute("msg"));
                        }
                        break;
                }
            }
        }

首次提问,希望哪位JS大佬看见能回答一下,帮助萌新解决这个问题

with在严格模式下不被允许。先打印下 obj.elements[i] ,看看obj.elements[i] 语句块里面那些属性用到了obj.elements[i] 属性。
然后删除with语句,用obj.elements[i].xx替换即可。