<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男人的天堂| a国产成人免费视频| 久久久久噜噜噜亚洲熟女综合| 日本系列1页亚洲系列| 免费国产精品视频| 激情吃奶吻胸免费视频xxxx| 免费吃奶摸下激烈视频| 美女被爆羞羞网站在免费观看| 国产hs免费高清在线观看| 美女被免费视频网站| 亚洲午夜精品第一区二区8050| 一区二区三区免费视频观看| 亚洲无人区一区二区三区| 一级毛片**不卡免费播| 亚洲麻豆精品果冻传媒| 国语成本人片免费av无码| 亚洲精品无码久久久久YW| 亚洲AV中文无码乱人伦| a级精品九九九大片免费看| 亚洲国产精品久久久久婷婷软件| **一级一级毛片免费观看| 亚洲色中文字幕在线播放| 无码不卡亚洲成?人片| a毛片在线还看免费网站| 在线观看亚洲人成网站| 成人毛片视频免费网站观看| 猫咪www免费人成网站| 久久久久久亚洲精品| 黄瓜视频影院在线观看免费| 国产精品亚洲av色欲三区| 久久亚洲国产欧洲精品一| A在线观看免费网站大全| 国产综合成人亚洲区| 亚洲av无码乱码国产精品| 无码高潮少妇毛多水多水免费| 精品女同一区二区三区免费播放 | 免费人成在线观看网站视频| 91视频免费观看| 亚洲中文字幕无码久久|