run Ext JS Form 交互式表单

来源:互联网 发布:python基础教程 chm 编辑:程序博客网 时间:2024/06/06 03:49

run:function(){

         var o=this.options;

         var method=this.getMethod();

         var isGet=method =='GET';

       if(o.clientValidation==false||this.form.isValid()){

          Ext.Ajax.request(Ext.apply(this.createCallback(o),{

                  form:this.form.el.dom,

                   url:this.getUrl(isGet),

                    method:method,

                    headers:o.headers,

                    params:!isGet?this.getParams():null,

                    isUpload:this.form.fileUpload}));}

                     else if(o.clientValidation!==false){

                     this.failureType=Ext.form.Action.CLIENT_INVALID;

                     this.form.afterAction(this,false);}}

 

success:function(response){

       var result=this.processResponse(response);

      if(result===true||result.success){

               this.form.afterAction(this,true);

               return;}

      if(Result.errors){

              this.form.markInvalid(result.errors);

               this.failureType=Ext.form.Action.SERVER_INVALID;}

              this.form.afterAction(this,false); }

 

afterAction:function(action,success){

              this.activeAction=null;

              var o=action.options;

              if(o.waitMsg){

                      if(this.waitMsgTarget===true)

                                 this.el.unmask();

                   else if(this.waitMsgTarget.unmask();

                    else{

                           Ext.MessageBox.updateProgress(1);

                           Ext.MessageBox.hide():} }

                  if(success){

                 if(o.reset)

                        this.reset();

                     Ext.callback(o.success,o.scope,

                         this.fireEvent('actioncomplete',this,action);}

                      else{

                      Ext.callback(o.failure,o.scope,[this,action]);

                       this.fireEvent('actionfailed',this,action);}}

 

setValues:function(values){

             if(Ext.isArray(values)){

            for(var i=0,len=values.length;i<len;i++){

                var v= values[i],f=this.findField(v.id);

                 if(f){

                       f.setValue(v.value);

                        if(this.trackResetOnload)

                                    f.originalValue=f.getValue();}}

                        else{

                        var field,id;

                        for(id in values){

                            if(typeof values[id] !='function'&& (field=this.findField(id)){

                                 field.setValue(values[id]);

                              if(this.trackResetOnLoad)

                                        field.originalValue=field.getValue();}}}

                       return this;}

 

onRender:function(ct,position){

           if(!this.el){

                  this.el=document.createElement('fieldset');

                  this.el.id=this.id;

           if(this.title||this.header||this.checkboxToggle){

                   var legend=document.createElement('legend');

                   this.el.appendChild(legend).className='x-fieldset-header';}}

                   Ext.form.FieldSet.superclass.onRender.call(this,ct,position);

           if(this.checkboxToggle){

                    var o=typeof  this.checkboxToggle=='object' ?

                             this.checkboxToggle:(tag:'input',type:"checkbox',name:this.checkboxName||this.id+'-checkbox'};

                      this.checkbox=this.header.insertFirst(o);

                     this.checkbox.dom.checked=!this.collapsed;

                     this.checkbox.on('click',this.onCheckClick,this);}}

 

initEvents:function(){

          Ext.form.TextField.superclass.initEvents.call(this);

         if(this.validationTask=new Ext.util.DelayedTask(this.validate,this);

           this.mon(this.el,'keyup',this.filterValidation,this);}

           else if(this.validationEvent !==false){

               this.mon(this.el,this.validationEvent,

                          this.validate,this,buffer:this.validationDelay}};}

                if(this.selectONfocus||this.emptyText){

                       this.on("focus",this.preFocus,this);

                       this.mon(this.el,'mousedown',function(){

                       if(!this.hasFocus){

                               this.mon(this.el,'mouseup',

                     function(e){e.preventDefault();}

                       this,{single:true));}

                      },this);

                    if(this.emptyText){

                       this.on('blur',this.postBlur,this);

                      this.applyEmptyText();}}

               if(this.maskRe||

                     (this.vtype&&this.disableKeyFilter!==true

                       && (this.maskRe=Ext.form.VTypes[this.vtypes[this.vtype+'Mask']))){

                                 this.mon(this.el,"keypress",this.filterKeys,this);}

                       if(this.grow){

                         this.mon(this.el,"keyup",this.onkeyUpBuffered,this,{buffer:50});

                         this.mon(this.el,"click",this.autoSize,this);}

                     if(this.enableKeyEvents){

                         this.mon(this.el,"keyup",this.onKeyUp,this);

                         this.mon(this.el,"keydown",this.onKeyDown,this);

                         this.mon(this.el,"keypress",this.onkeyPress,this);}}

   

           

 

 

}             o           a                  ,