<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无码免费一区二区三区 | 亚洲中文字幕一区精品自拍| 50岁老女人的毛片免费观看| 亚洲视频在线观看不卡| 99久9在线|免费| 亚洲精品中文字幕无乱码麻豆| 又粗又大又黑又长的免费视频| 久久精品国产亚洲αv忘忧草| 免费福利网站在线观看| 亚洲av无码一区二区三区在线播放| 国产区卡一卡二卡三乱码免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 2048亚洲精品国产| 成人精品一区二区三区不卡免费看| 亚洲国产精品嫩草影院在线观看| 亚洲视频免费在线观看| 亚洲乱人伦精品图片| 日本不卡在线观看免费v| 免费在线观看一区| 久久精品国产亚洲AV网站| 黄色成人免费网站| 婷婷国产偷v国产偷v亚洲| 国产亚洲A∨片在线观看| 国产成人精品久久免费动漫| 久久久亚洲精华液精华液精华液 | a级毛片免费观看视频| 亚洲自偷精品视频自拍| 永久免费看bbb| 成人久久免费网站| 亚洲免费福利在线视频| 亚洲一区二区三区无码中文字幕| 99re6在线视频精品免费下载| 亚洲AV综合色区无码一二三区| 亚洲精品乱码久久久久久中文字幕| 在线视频精品免费| 人人鲁免费播放视频人人香蕉| 久久亚洲精品人成综合网| 国产成人免费福利网站| 久久免费视频精品|