Modificar ventana autoload
Tengo una ventana autoload de un ejemplo:
Ext.onReady(function() {
var win = new Ext.Window({
width:400
,id:'autoload-win'
,height:300
,autoScroll:true
,autoLoad:{
url:'autoload-content.php'
}
,title:Ext.getDom('page-title').innerHTML
,tbar:[{
text:'Reload'
,handler:function() {
win.load(win.autoLoad.url + '?' + (new Date).getTime());
}
}]
,listeners:{show:function() {
this.loadMask = new Ext.LoadMask(this.body, {
msg:'Loading. Please wait...'
});
}}
});
win.show();
});
Como puedo hacer para lanzarla con un click en un boton? Que tendría que modificar?
Gracias
Pedro
porque ocupas el Ext.onReady dentro del handler del boton?
recuerda que esa funcion es para determinar que el DOM está listo por lo que creo que estás ubicando mal tu codigo, en teoria deberias tener algo asi:
Ext.onReady(function() {
var btn = new Ext.Button({
text: "Mostar ventana",
renderTo: 'un div o algo donde renderizarlo',
handler: function () {
var win = new Ext.Window({
width: 400,
id: 'autoload-win',
height: 300,
autoScroll: true,
closeAction: 'hide',
autoLoad: {
url: 'autoload-content.php'
},
title: Ext.getDom('page-title').innerHTML,
tbar: [{
text: 'Reload',
handler: function () {
win.load(win.autoLoad.url + '?' + (new Date).getTime());
}
}],
listeners: {
show: function () {
this.loadMask = new Ext.LoadMask(this.body, {
msg: 'Loading. Please wait...'
});
}
}
});
win.show();
}
});
});
Tokkaido:
Cree un y me sale el error en el renderTo:"cargar" :
Ext.getDom("carga") is null
Gracias
Pedro
Correcion:
Cree un div id cargar y me sale el error en el renderTo:"cargar" : Ext.getDom("cargar") is null Perdon
Tokkaido:
Ahora me da error en:
Ext.onReady(function() { var btn = new Ext.Button({ text: "Mostar ventana", RenderTo: Ext.get('cargar') ******************************************************** missing } after property list [Interrumpir en este error] handler: function () { ********************************************************* handler: function () { var win = new Ext.Window({ width: 400, id: 'autoload-win', height: 300, autoScroll: true, closeAction: 'hide', autoLoad: { url: 'autoload-content.php' }, title: Ext.getDom('page-title').innerHTML, tbar: [{ text: 'Reload', handler: function () { win.load(win.autoLoad.url + '?' + (new Date).getTime()); } }], listeners: { show: function () { this.loadMask = new Ext.LoadMask(this.body, { msg: 'Loading. Please wait...' }); } } }); win.show(); } }); });Gracias
mira a mi este codigo me funciona:
Ext.onReady(function() {
var boton = new Ext.Button({
text: 'Mostrar ventana',
renderTo: Ext.get('cargar'),
handler: function () {
var win = new Ext.Window({
width: 400,
id: 'autoload-win',
height: 300,
autoScroll: true,
closeAction: 'hide',
autoLoad: {
url: 'autoload-content.php'
},
title:'ventana',//Ext.getDom('page-title').innerHTML, esto tuve que comentarlo porque no tengo tal elemento
tbar: [{
text: 'Reload',
handler: function () {
win.load(win.autoLoad.url + '?' + (new Date).getTime());
}
}],
listeners: {
show: function () {
this.loadMask = new Ext.LoadMask(this.body, {
msg: 'Loading. Please wait...'
});
}
}
});
win.show();
}
});
});
deberias revisar el resto de tu codigo
Tokkaido:
Ya funciona! No sé que era pero copié el último código que me enviaste y todo ok!
Te agradezco la ayuda brindada y pido disculpas por las molestias, recién estoy conociendo el Extjs y me está costando un poco, pues vengo del Cobol...
Pedro
No te preocupes, ninguno nace sabiendo, te aconsejo que sigas los tutoriales de este mismo sitio son muy buenos :-D
Crysfel:
Lo he probado de distintas manera y no funcionó:
new Ext.Button({ text : "Mostar ventana", handler : function(){ Ext.onReady(function() { var win = new Ext.Window({ width:400 ,id:'autoload-win' ,height:300 ,autoScroll:true ,closeAction : 'hide' ,autoLoad:{ url:'autoload-content.php' } ,title:Ext.getDom('page-title').innerHTML ,tbar:[{ text:'Reload' ,handler:function() { win.load(win.autoLoad.url + '?' + (new Date).getTime()); } }] ,listeners:{show:function() { this.loadMask = new Ext.LoadMask(this.body, { msg:'Loading. Please wait...' }); }} }); win.show(); } }); // eo function onReadyQué estoy haciendo mal? Gracias Pedro
¿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.