Foro

Obtener getvalues() de formpanel

0
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%'
        }
         ]
        }

             ]
    }
});















0
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.