Obtener getvalues() de formpanel
Hola como puedo obtener el getvalues de un formpanel les dejo el codigo de mi estructura , quiero poner eso en el evento de mi boton
//Iniciamos el componente panel de formulario
Ext.define('FacturaMovil.view.rgProductos',{
renderTo:document.body,
extend:'Ext.Container',
xtype:'formpanel',
id:'formularioProductos',
name:'formProducto',
alias:[
'widget.radiogroup'
],
requires:[
'Ext.form.*',
'Ext.data.*',
'Ext.form.Panel',
'Ext.form.FormPanel'
],
config:{
flex:1,
style:'background:#ffffff',
items:[
//Iniciamos el formulario
{
xtype:'formpanel',
title:'Registro de producto',
items:[
{
//EdithText para el primer codigo del producto
xtype:'textfield',
name:'pcodigoProducto',
id:'pcodigoProducto',
label:'Codigo 1:',
labelWrap: true
},
{
//EdithText para el nombre del producto
xtype:'textfield',
name:'nombreProducto',
id:'nombreProducto',
label:'Nombre :',
labelWrap: true
},
{
//EdithText para la descripcion del producto
xtype:'textareafield',
name:'descripcionProducto',
id:'descripcionProducto',
flex:10,
label:'Descripcion :',
height:100
},{
//EdithText para el precio del producto
xtype:'textfield',
name:'precioProducto',
id:'precioProducto',
label:'Precio :',
labelWrap:true
}, {
//EdithText para codigo del producto
xtype:'textfield',
name:'scodigoProducto',
id:'scodigoProducto',
label:'Codigo 2:',
labelWrap: true
}, {
//EdithText para codigo del producto
xtype:'textfield',
name:'tercercodigoProducto',
id:'tercercodigoProducto',
label:'Codigo 3:',
labelWrap: true
},{
//Texto seleccione el producto
xtype:'fieldset',
title:'Seleccione un codigo',
items:[{
//Creamos un radio group para seleccionar el codigo a mostrar
layout:'vbox',
xtype:'radiogroup',
columns:1,
items:[{
//Declaramos el primer radiobutton
xtype:'radiofield',
label:'Codigo 1',
name:'Codigo',
checked:true,
value:'Codigo1'
},{
//Declaramos el segundo radiobutton
xtype:'radiofield',
label:'Codigo 2',
name:'Codigo',
value:'Codigo2'
},{
//Declaramos el tercer radiobutton
xtype:'radiofield',
label:'Codigo 3',
name:'Codigo',
value:'Codigo3'
}]
}]
},{
xtype:'spacer',
height:'5'
},{
//Declaramos radiogroup para seleccionar enable o disable
xtype:'fieldset',
title:'Seleccione',
columns:1,
items:[
{
xtype:'radiogroup',
layout:'vbox',
items:[{
//Declaramos el radiobutton para indicar que el producto esta en enable
xtype:'radiofield',
label:'Enable',
name:'enableProducto',
value:'Enable',
checked:true
},{
//Declaramos el radiobutton para indicar que el producto esta en disable
xtype:'radiofield',
label:'Disable',
name:'enableProducto',
value:'Disable'
}]
}
]
},
{
//Declaramos el combo para categoria
xtype: 'selectfield',
label: 'Choose one',
options: [
{text: 'First Option', value: 'first'},
{text: 'Second Option', value: 'second'},
{text: 'Third Option', value: 'third'}
]
},{
//Declaramos el combo para unidad de venta
xtype:'fieldset',
title:'Unidad de venta'
},{
//Declaramos el editext para el equivalente del producto
xtype:'textfield',
label:'Equivalente :',
name:'equivalenteProducto',
id:'equivalenteProducto',
labelWrap:true
},{
//Declaramos el radiogroup para indicar si el producto es para venta
xtype:'fieldset',
title:'Indique si el producto es para venta',
items:[
{
xtype:'radiogroup',
layout:'vbox',
columns:1,
items:[{
//Declaramos el radiobutton para indicar que es produto de venta
xtype:'radiofield',
label:'Vender',
name:'venderProducto',
checked:true,
value:'true'
},{
//Declaramos el radiobutton para indicar que el producto no es de venta
xtype:'radiofield',
label:'No vender',
name:'venderProducto',
value:'false'
}]
}
]
},{
xtype:'spacer',
height:'20%'
},{
xtype:'fieldset',
title:'Seleccionar el tipo de producto'
},{
},{
xtype:'spacer',
height:'10%'
},
{
xtype:'button',
width:'40%',
height:'10%',
text:'Registrar',
style:'background:#9999ff',
handler:function(){
}
},
{
xtype:'spacer',
height:'150%'
}
]
}
]
}
});
//Iniciamos el componente panel de formulario
Ext.define('FacturaMovil.view.rgProductos',{
renderTo:document.body,
extend:'Ext.Container',
xtype:'formpanel',
id:'formularioProductos',
name:'formProducto',
alias:[
'widget.radiogroup'
],
requires:[
'Ext.form.*',
'Ext.data.*',
'Ext.form.Panel',
'Ext.form.FormPanel'
],
config:{
flex:1,
style:'background:#ffffff',
items:[
//Iniciamos el formulario
{
xtype:'formpanel',
title:'Registro de producto',
items:[
{
//EdithText para el primer codigo del producto
xtype:'textfield',
name:'pcodigoProducto',
id:'pcodigoProducto',
label:'Codigo 1:',
labelWrap: true
},
{
//EdithText para el nombre del producto
xtype:'textfield',
name:'nombreProducto',
id:'nombreProducto',
label:'Nombre :',
labelWrap: true
},
{
//EdithText para la descripcion del producto
xtype:'textareafield',
name:'descripcionProducto',
id:'descripcionProducto',
flex:10,
label:'Descripcion :',
height:100
},{
//EdithText para el precio del producto
xtype:'textfield',
name:'precioProducto',
id:'precioProducto',
label:'Precio :',
labelWrap:true
}, {
//EdithText para codigo del producto
xtype:'textfield',
name:'scodigoProducto',
id:'scodigoProducto',
label:'Codigo 2:',
labelWrap: true
}, {
//EdithText para codigo del producto
xtype:'textfield',
name:'tercercodigoProducto',
id:'tercercodigoProducto',
label:'Codigo 3:',
labelWrap: true
},{
//Texto seleccione el producto
xtype:'fieldset',
title:'Seleccione un codigo',
items:[{
//Creamos un radio group para seleccionar el codigo a mostrar
layout:'vbox',
xtype:'radiogroup',
columns:1,
items:[{
//Declaramos el primer radiobutton
xtype:'radiofield',
label:'Codigo 1',
name:'Codigo',
checked:true,
value:'Codigo1'
},{
//Declaramos el segundo radiobutton
xtype:'radiofield',
label:'Codigo 2',
name:'Codigo',
value:'Codigo2'
},{
//Declaramos el tercer radiobutton
xtype:'radiofield',
label:'Codigo 3',
name:'Codigo',
value:'Codigo3'
}]
}]
},{
xtype:'spacer',
height:'5'
},{
//Declaramos radiogroup para seleccionar enable o disable
xtype:'fieldset',
title:'Seleccione',
columns:1,
items:[
{
xtype:'radiogroup',
layout:'vbox',
items:[{
//Declaramos el radiobutton para indicar que el producto esta en enable
xtype:'radiofield',
label:'Enable',
name:'enableProducto',
value:'Enable',
checked:true
},{
//Declaramos el radiobutton para indicar que el producto esta en disable
xtype:'radiofield',
label:'Disable',
name:'enableProducto',
value:'Disable'
}]
}
]
},
{
//Declaramos el combo para categoria
xtype: 'selectfield',
label: 'Choose one',
options: [
{text: 'First Option', value: 'first'},
{text: 'Second Option', value: 'second'},
{text: 'Third Option', value: 'third'}
]
},{
//Declaramos el combo para unidad de venta
xtype:'fieldset',
title:'Unidad de venta'
},{
//Declaramos el editext para el equivalente del producto
xtype:'textfield',
label:'Equivalente :',
name:'equivalenteProducto',
id:'equivalenteProducto',
labelWrap:true
},{
//Declaramos el radiogroup para indicar si el producto es para venta
xtype:'fieldset',
title:'Indique si el producto es para venta',
items:[
{
xtype:'radiogroup',
layout:'vbox',
columns:1,
items:[{
//Declaramos el radiobutton para indicar que es produto de venta
xtype:'radiofield',
label:'Vender',
name:'venderProducto',
checked:true,
value:'true'
},{
//Declaramos el radiobutton para indicar que el producto no es de venta
xtype:'radiofield',
label:'No vender',
name:'venderProducto',
value:'false'
}]
}
]
},{
xtype:'spacer',
height:'20%'
},{
xtype:'fieldset',
title:'Seleccionar el tipo de producto'
},{
},{
xtype:'spacer',
height:'10%'
},
{
xtype:'button',
width:'40%',
height:'10%',
text:'Registrar',
style:'background:#9999ff',
handler:function(){
}
},
{
xtype:'spacer',
height:'150%'
}
]
}
]
}
});
Dentro del handler del botón puedes acceder al formulario con el método down, algo así:
var form = this.down('formpanel'); form.getValues();
Es importante mencionar que para que te funcione el handler del botón debe ejecutarse en el scope de la instancia de la clase FacturaMovil.view.rgProductos, así que te recomiendo definir una función que pertenezca a la clase y luego en el handler del botón le pasas el nombre de la función en string, Ext ejecutará la función en el scope correcto.
Saludos
¿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.