Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2011, 17:31
isidro_01
 
Fecha de Ingreso: octubre-2009
Mensajes: 23
Antigüedad: 11 años, 11 meses
Puntos: 0
no logro pasar los datos al Extjs con XML

buenas primero que todo gracias por tomarse la molestia de leer esto


el problema que tengo es el siguiente:

estoy tratando de leer un XML donde pretendo colocar todo el texto y cargarlos desde el extjs.

mis problemas se basan mas que todo en mi poco conocimiento del framework....

y son los siguientes

1-) el utilizar el Ext.data.Model para crear la estructura de los datos

2-) cargar los texto usando Ext.data.Store en la estructura creada previamente

3-) que el store lo pueda manejar de forma global

a continuación dejo el código:

el script:

Código:
Ext.ns('app');
app={
	lenguaje:function (){
		Ext.define('registro', {
		extend: 'Ext.data.Model',
		fields: ['nombre','apellido','email','contrasenhia','fechaNac',]/*{
				registro:
					[{name:'nombre',	type: 'string'},
					{name: 'apellido',	type: 'string'},
					{name: 'email', 	type: 'string'},
					{name:'contrasenhia',type: 'string'},
					{name:'fechaNac'	,type: 'string'}
				]}*/
		});
		var lenguaje = new Ext.data.Store({
			model: 'registro',
			storeId: 'lenguaje',
			proxy: {
				type: 'ajax',
				url : 'lengua/es.xml',
				reader: {
					type: 'xml',
					record: 'registro'
				}
			}
	}).load({
		scope:this,
		callback:function ()
		{
			app.interfaz (lenguaje)
		}
		});
},
interfaz:function (lenguaje)
{

	formulario =Ext.create('Ext.form.Panel', {
    renderTo: Ext.getBody(),
    bodyPadding: 10,
    width: 'auto',
	waitTitle :'Procesando...',
    url: 'php/registroUsuario.php',

    items: [{
        xtype: 'textfield',
		anchor: '100%',
        name: 'nombre',
        fieldLabel: Ext.data.StoreManager.lookup('lenguaje').getAt('0').get('nombre'),
        allowBlank: false 
    },{
        xtype: 'textfield',
		anchor: '100%',
        name: 'apellido',
        fieldLabel: Ext.data.StoreManager.lookup('lenguaje').getAt('0').get('apellido'),
        allowBlank: false  
    },{
        xtype: 'textfield',
		anchor: '100%',
        name: 'email',
        fieldLabel: Ext.data.StoreManager.lookup('lenguaje').getAt('0').get('email'),
        allowBlank: false ,
        vtype: 'email'  
    },{
		inputType: 'password',
		anchor: '100%',
        xtype: 'textfield',
        name: 'contrasenhia',
        fieldLabel: Ext.data.StoreManager.lookup('lenguaje').getAt('0').get('contrasenhia'),
        allowBlank: false 
    },{
        xtype: 'datefield',
        fieldLabel: lenguaje.getAt('0').get('fechaNac'),
        name: 'feachaNacimiento',
		format: 'Y/m/d'

    }],

    buttons: [{
        text: 'Procesar Registro',
        handler: function() {
            var form = this.up('form').getForm();
            if (form.isValid()) {
                form.submit({
                    success: function(form, codigo) {
                       if(codigo==403)
					   {
							   Ext.Msg.alert('Error', 'Disculpe este correo ya se encuentra registrado');
						}
                    },
                    failure: function(form, action) {
                    }
                });
            }
        }
    }]
});

	
	Ext.create('Ext.window.Window', {
    title: 'Registro',
    height: 300,
    width: 400,
    layout: 'fit',
    items: formulario
	}).show();
}
}
Ext.onReady(app.lenguaje);
el XML

Código:
<?xml version="1.0" encoding="utf-8"?>
	<registro>
		<nombre>
			Nombre
		</nombre>
		<apellido>
			Apellido
		</apellido>
		<contrasenhia>
			Contraseña
		</contrasenhia>
		<email>
			Email
		</email>
		<fechaNac>
			Feacha de Nacimiento
		</fechaNac>
		<registroExitos>
			Usuario registrado con exito!
		</registroExitos>
		<correoDuplicado>
			El correo ingresado se encuentra registrado
		</correoDuplicado>
	</registro>
cabe destacar que estoy tratando de hacer un registro de un usuario, y que en el html solo tengo el llamado de las librerias

espero su ayuda gracias de ante mano

PostData: cualquier sugerencia sobre el código es bien recibida