Fecha actual 09 Sep 2010, 16:11




Nuevo tema Responder al tema  [ 2 mensajes ] 
 Ayuda con ExtJs 
Autor Mensaje
Principante
Avatar de Usuario

Karma: 0


Registrado: 23 Jul 2010, 12:49
Mensajes: 1
Nota Ayuda con ExtJs
Hola a todos, soy nuevo en el foro así como en Extjs y pues como todo novato, cualquier cosas asusta.

veamos quiero hacer un formulario con 2 combos dependientes, y un botón para hacer submit, la respuesta debe dibujar un grid, todo esto con ajax

mis avances son los siguientes:

Combo 1: sus datos se llenan al cargar la página
Combo 2: sus datos se llenan al seleccionar algo del combo 1
Botón de enviar: hace submit y manda los datos a la página php. (lo veo en el firebug)

lo de hacer submit lo he leido aquí:
http://www.quizzpot.com/2009/08/guardar ... -servidor/

aquí mi problema.
Cuando hago el submit con el botón, las variables post no mandan el valor asignado en VALUE de los combos sino que mandan la descripción.

por que sucede eso??

Este es el código que estoy trabajando:

Código:
<head>
<link rel="stylesheet" type="text/css"
    href="js/extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="js/extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/extjs/ext-all.js"></script>
<script>
Ext.ns("sistema");


sistema.LinkedComboBoxTutorial = {
    init: function(){
   
        var empresasStore = this.getStore();   
   
        var municipiosStore = new Ext.data.JsonStore({
            autoLoad: true,
            url: 'datosEmpresas.php',
            baseParams:{ accion: 2 },
            root: 'datos',
            totalProperty: 'total',
            fields: [
                     {name:'value', type: 'string'},
                     {name:'label', type: 'string'},                     
                     ]
        });   
   
        var comboMunicipio =new Ext.form.ComboBox({
            fieldLabel: 'Municipio',
            name: 'comboMunicipio',
            forceSelection: true,
            store: municipiosStore,
            emptyText: 'Selecciona un Municipio...',
            triggerAction: 'all',
            displayField: 'label',
            valueField: 'value',
            mode: 'local',       
            //hideTrigger:true,
            editable: false               
            //minChars:3
        });
           
        var comboEmpresas = new Ext.form.ComboBox({              
                fieldLabel: 'Empresas',
                name: 'comboEmpresas',
                forceSelection: true,
                store : empresasStore,           
                emptyText: 'Seleccionar una empresa',
                triggerAction: 'all',           
                editable: false,
                displayField: 'EMPRESA',
                valueField: 'CVE_EMPRESA',
                width: 500,
                disabled: true,
                mode: 'local'
               
            });
   
        comboMunicipio.on('select',function(cmb,record,index){           
            comboEmpresas.clearValue();
            comboEmpresas.enable();
            empresasStore.load({
                                    params:{
                                        accion: 1,
                                        municipio:record.get('value')               
                                        }
                                 });           
        },this);
           
        var panel1 = new Ext.FormPanel({           
           url: 'datosEmpresas.php',           
            title: 'Seleccione Filtros',           
            items: [comboMunicipio, comboEmpresas],
            region: 'south',
            //layout: 'form',
            height: 150,
            buttons: [ {text: 'Buscar',
                        handler: function(){
                           panel1.getForm().submit();                           
                        }
                     } ]
       
            //iconCls: 'users'
        });
       
        var panel2 = new Ext.Panel({           
            region: 'center'                   
        });
               
        /**
         * PANEL PRINCIPAL
         */
        var main = new Ext.Panel({
           
            title: 'Banco de Datos',           
            height:600,
            layout: 'border',
            defaults: {
                //collapsible:true,
                border: true,
                bodyStyle: 'padding:10px;',
                //titleCollapse: true,
               
            },
            items: [panel1,panel2]//,panel3]
           
        });
        main.render('panel');
   
        /*
        panel1.load({
            url: 'panel.php',
            method: 'GET',
            params: {data:'users'}
        });
        panel2.load({
            url: 'panel.php',
            method: 'GET',
            params: {data:'report'}
        });
        panel3.load({
            url: 'panel.php',
            method: 'GET',
            params: {data:'documents'}
        });
        */

      //creamos una instancia del textfield
        var name = new Ext.form.TextField({
            fieldLabel:'Name',
            name:'txt-name',
            emptyText:'Your name...',
            id:"id-name"
        });
      //creamos un grupo de checkboxes
        var checkboxes = new Ext.form.CheckboxGroup({
            fieldLabel:'Interests',
            columns:2,//mostrar dos columnas de checkboxes
            items:[
                {boxLabel: 'JavaScript', name: 'cb-js', checked: true}, //campo marcado desde el principio
                {boxLabel: 'HTML', name: 'cb-html'},
                {boxLabel: 'CSS', name: 'cb-css'},
                {boxLabel: 'Otros', name: 'cb-otros'}
            ]
        });
       
        //creamos un formulario
        this.form= new Ext.FormPanel({
            title:'New Developer',
            //renderTo: 'frame',
            defaults:{xtype:'textfield'},   //componente por defecto del formulario
            bodyStyle:'padding: 10px', //alejamos los componentes del formulario de los bordes
            items:[
                name, // le asignamos la instancia que creamos anteriormente
                {
                    fieldLabel:'Email', // creamos un campo
                    name:'txt-email', // a partir de una
                    value:'default@quizzpot.com', //configuración
                    id:"id-email"
                },
                { 
                   xtype: 'checkbox', //definimos el tipo de componente 
                   fieldLabel: 'Active',// le asignamos un label 
                   name: 'chk-active', //y un "name" para que lo recojamos en el servidor... 
                   id: 'id-active'// ...cuando el formulario sea enviado 
                },
                checkboxes 
            ]
        });
    },

    getStore: function(){
        var store = new Ext.data.JsonStore({
            url:'datosEmpresas.php',
            root:'datos',
            fields: ['CVE_EMPRESA','EMPRESA']
        });
        return store;
    }

       
   
}

Ext.onReady(sistema.LinkedComboBoxTutorial.init,
           sistema.LinkedComboBoxTutorial);   
  </script>
</head>
<body>
<div id="panel"></div>
<div id="frame"></div>

</body>




EL firebug dice esto en la pestaña de POST cuando se hace click en el botón

Código:
Parameterapplication/x-www-form-urlencoded
comboEmpresas   ABASTECEDORA INDUSTRIAL UNION S A DE C V (2)
comboMunicipio   GUADALUPE
Quelle


ya nomas me faltaria el grid


23 Jul 2010, 13:03
Perfil
Principante
Avatar de Usuario

Karma: 0


Registrado: 12 Abr 2010, 21:41
Mensajes: 62
Nota Re: Re: Ayuda con ExtJs
por que no le echas una miradita a las propiedades del comobox que se llaman
hiddenName y hiddenValue en el api de ExtJs http://www.sencha.com/deploy/dev/docs/ estoy seguro resolveran tu problema


27 Jul 2010, 11:04
Perfil
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 2 mensajes ] 


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.
Traducción al español por Huan Manwë
Karma functions powered by Karma MOD © 2007, 2009 m157y