martes, 22 de mayo de 2012

ExtJS 4: Distintas formas de cargar un formulario

el JS:
var myFormPanel;
            
            Ext.onReady(function() {
                myFormPanel = Ext.create('Ext.form.Panel', {
                    title: 'Simple Form',
                    bodyPadding: 5,
                    width: 350,
                    url: 'save-form.php',
//h
                    layout: 'anchor',
                    defaults: {
                        anchor: '100%'
                    },

                    // The fields
                    defaultType: 'textfield',
                    items: [{
                            fieldLabel: 'First Name',
                            name: 'user_nombre',
                            allowBlank: false
                        },{
                            fieldLabel: 'Last Name',
                            name: 'user_apellido',
                            allowBlank: false
                        }],

                    renderTo: Ext.getBody()
                });
            });

            function cargarDatos(){
                            
                //myFormPanel.load({ //es lo mismo
                myFormPanel.getForm().load({
                    url: 'test_extj4_llenar_formulario.php',
                    //params: {
                    //  consignmentRef: myConsignmentRef
                    //},
                    failure: function(form, action) {
                        Ext.Msg.alert("Load failed", action.result.errorMessage);
                    }
                });
            }

            function cargarDatosDesdeDM(){                

                Ext.define('User', {
                    extend: 'Ext.data.Model',
                    fields: [
                        {name: 'user_nombre',  type: 'string'},
                        {name: 'user_apellido',  type: 'string'},
                        {name: 'useSDF',   type: 'int', convert: null},
                        {name: 'phone', type: 'string'},
                        {name: 'alive', type: 'boolean', defaultValue: true, convert: null}
                    ],

                    changeName: function() {
                        var oldName = this.get('user_nombre'),
                        newName = oldName + " The Barbarian";

                        this.set('user_nombre', newName);
                    }
                });
                
                var unUsuario = Ext.create('User',{
                    user_nombre : 'arturo',
                    user_apellido : 'malon'
                });
            
                unUsuario.changeName();
                console.log(unUsuario);
            
                myFormPanel.loadRecord(unUsuario);
            }

            function cargarDatosDesdeJson(){                
                var otroUser = {data:{
                        user_nombre : 'pepe',
                        user_apellido : 'soler'
                    }};                
                myFormPanel.loadRecord(otroUser);
            }

el PHP:
<?php 
echo '{
    success: true,
    data: {
        user_nombre: "Elias Josue",
        user_apellido: "Le Sar"        
    }
}'; 

?>

No hay comentarios:

Publicar un comentario