Foro

Problemas ambito this

0
Hola a todos , expongo el siguiente codigo: this.cajacodigo=new Ext.form.TextField({ fieldLabel:'Código', id:'codigo', maxLength:6, emptyText:'Digite codigo', allowBlank:false, enableKeyEvents:true }); this.cajacodigo.on('specialkey',function(el,e){ if(e.keyCode == e.ENTER) { if(this.cajacodigo.getValue()==''){ msgERROR('Error','Ingrese codigo por favor'); } else{ forma.getForm().submit({ url :'ctrventas/busca', waitMsg : 'Buscando datos ...', success :function(){ Ext.Msg.confirm('Confirmacion','¿Desea agregar el titulo?',function(btn){ if(btn==='yes'){ forma.getForm().submit({ url :'ctrventas/agrega', waitMsg :'Agregando codigo ...', success :function(){ this.storeventa.load(); }, failure :function(){msgERROR('Error','Imposible agregar')} }); } }); }, failure :function(){msgERROR('Error','Codigo no encontrado')} }); } } },this); El problema viene con el "this.storeventa.load()" que esta ubicado en el la funcion anonima de la propiedad success del ultimo submit del formulario, me marca "this.storeventa is undefined", he analizado el codigo y me llama la atencion porque en los eventos submit de forma no tengo complicaciones ... var forma , this.codigo y this.storeventa estan en el mismo ambito ... que puede ser?
0
Excelente Tokkaido ... funciono con lo que me dijiste, muy agradecido
0
Según lo veo deberías agregar la propiedad scope: this, tanto al primer submit como al segundo, pero tendría que probarlo. En todo caso con respecto al store podrías ahorrarte dolores de cabeza asignándole un storeId y luego llamandolo asi: Ext.StoreMgr.lookup('el_storeId_de_tu_store').load();

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.