<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    七段

    無論怎樣,請讓我先感謝一下國家。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      35 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks
      (function(){
                    
    var uuid = 0;
                    
    var NEW = 0, PENDING = 1, FINISH = 2;
                    
    var RemoteRule = window.RemoteRule = function(fn, options){
                        
    this.id = uuid++;
                        
    this.fn = fn;
                        
    this.para = options.requestPara;
                        
    this.showTips = function(){
                            options.showTips();
                        }
                    }
                    
                    
    var RemoteValidator = window.RemoteValidator = function(){
                        
    this.rules = {};
                        
    this.status = {};
                    }
                    RemoteValidator.prototype 
    = {
                        addRule: 
    function(rule){
                            
    this.rules[rule.id] = rule;
                            
    this.status[rule.id] = NEW;
                        },
                        reset: 
    function(){
                            
    this.rules = {};
                            
    this.status = {};
                        },
                        validate: 
    function(callBack){
                            
    var self = this;
                            
    for (var id in self.rules) {
                                
    var rule = self.rules[id];
                                
    var updateFn = (function(){
                                    
    return function(data){
                                        
    if (data) {
                                            
    delete self.status[rule.id];
                                        }
                                        
    else {
                                            self.hasError 
    = true;
                                        }
                                        
    if (self.hasError) {
                                            rule.showTips();
                                        }
                                        
    var isEmpty = true;
                                        
    for (var id in self.status) {
                                            isEmpty 
    = false;
                                            
    break;
                                        }
                                        
    if (isEmpty) {
                                            callBack();
                                        }
                                    }
                                })();
                                self.status[rule.id] 
    = PENDING;
                                rule.fn(rule.para, updateFn);
                                
                            }
                        }
                    }
                    
                })();
                
                
    var dwrFnMock = function(para, callBack){
                    setTimeout(
    function(){
                        
    if (para.value > 0
                            callBack(
    true);
                        
    else 
                            callBack(
    false);
                    }, 
    1000);
                };
                
    var validator1 = new RemoteValidator();
                validator1.addRule(
    new RemoteRule(dwrFnMock, {
                    requestPara: {
                        value: 
    1
                    },
                    showTips: 
    function(){
                        alert(
    "hasError!");
                    }
                }));
                validator1.validate(
    function(){
                    alert(
    "submit");
                });
                
    var validator2 = new RemoteValidator();
                validator2.addRule(
    new RemoteRule(dwrFnMock, {
                    requestPara: {
                        value: 
    -1
                    },
                    showTips: 
    function(){
                        alert(
    "hasError!");
                    }
                }));
                validator2.validate(
    function(){
                    alert(
    "submit");
                })
    posted on 2009-12-08 11:28 sevenduan 閱讀(323) 評論(0)  編輯  收藏 所屬分類: JavaScript
    主站蜘蛛池模板: 免费人妻av无码专区| 99在线在线视频免费视频观看| 成人免费福利电影| 亚洲一级毛片在线播放| 国产成人福利免费视频| 亚洲成av人片不卡无码| 91免费播放人人爽人人快乐| 亚洲欧洲国产经精品香蕉网| 国内精品免费麻豆网站91麻豆| 亚洲国产美女精品久久| 久久久久久久免费视频| 亚洲砖码砖专无区2023| 国产高清视频在线免费观看| 久久亚洲AV成人无码国产电影| 免费va在线观看| 一级特黄录像免费播放肥| 曰韩亚洲av人人夜夜澡人人爽| 免费无码av片在线观看| 亚洲视频在线免费看| 在线免费观看a级片| 激情小说亚洲图片| 亚洲熟妇无码另类久久久| 特级无码毛片免费视频尤物| 亚洲伊人久久大香线蕉影院| 成人免费无遮挡无码黄漫视频| 牛牛在线精品观看免费正| 亚洲国产另类久久久精品黑人 | 女人让男人免费桶爽30分钟| 欧美亚洲国产SUV| 中文字幕亚洲激情| 99久久99热精品免费观看国产| 国产色在线|亚洲| 亚洲午夜福利精品无码| 四虎影视在线影院在线观看免费视频| 亚洲无成人网77777| 国产男女猛烈无遮档免费视频网站| 久久久久久国产a免费观看不卡| 久久亚洲AV成人无码电影| 午夜网站免费版在线观看| 中文字幕av无码不卡免费| 亚洲国产日韩女人aaaaaa毛片在线|