<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
    主站蜘蛛池模板: 亚洲丁香色婷婷综合欲色啪| 日韩亚洲一区二区三区| 亚洲综合小说另类图片动图| 亚洲免费人成视频观看| 亚洲欧洲精品一区二区三区| 未满十八18禁止免费无码网站| 亚洲大成色www永久网站| 久久国产乱子伦精品免费一| 亚洲视频在线播放| 黄色片在线免费观看| 亚洲一卡2卡3卡4卡5卡6卡 | 亚洲日韩在线观看免费视频| 久久久久亚洲精品中文字幕| 中文字幕免费在线播放| 亚洲国产精品久久66| 久久受www免费人成_看片中文| 亚洲色精品VR一区区三区| 国产福利免费观看| 一级一级毛片免费播放| 亚洲成年轻人电影网站www| 精品久久久久成人码免费动漫| 亚洲欧美第一成人网站7777| 亚洲av日韩片在线观看| 成在线人视频免费视频 | 国产精品成人无码免费| 人体大胆做受免费视频| 亚洲国产精品久久久久婷婷软件 | 亚洲人成网站免费播放| 亚洲AV永久无码天堂影院 | 国产91色综合久久免费| 美女黄频视频大全免费的| 日韩亚洲欧洲在线com91tv| 亚洲精品免费网站| 少妇亚洲免费精品| 亚洲精品无码久久久久久久| 日韩精品无码人妻免费视频| 97在线免费视频| 亚洲精品欧美综合四区| 国产国拍亚洲精品mv在线观看| 免费无码黄十八禁网站在线观看 | 99久久精品国产免费|