Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema extjs formulario

Estas en el tema de Problema extjs formulario en el foro de Frameworks JS en Foros del Web. Buenas, soy nuevo en el foro. Me registré porque estoy desarrollando con extjs y se me presentó un gran problema que no sé como solucionar. ...
  #1 (permalink)  
Antiguo 12/09/2010, 10:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación Problema extjs formulario

Buenas, soy nuevo en el foro.
Me registré porque estoy desarrollando con extjs y se me presentó un gran problema que no sé como solucionar.
Estoy haciendo una ventana de login como sigue:

Código:
Ext.namespace('com.krames.general');
com.krames.general.LoginDialog = Ext.extend(Ext.Window,{
	title: 'Session',//Titulo del dialogo.
	width: 420,
	height: 250,
	closable: false,//No tiene boton de cierre.
	resizable: false,//No se puede cambiar de tamano.
	modal: true,//Es un dialogo modal.
	loginButtonLabel: 'Login',//El texto para el boton de login
	cancelButtonLabel: 'Cancel',//El texto para el boton de cancelar
	userFieldName: 'user',//Nombre de la variable de usuario a enviar al servidor
	passFieldName: 'pass',//Nombre de la variable de password a enviar al servidor
	url: 'login.php',//La direccion del script que procesa la peticion.
	
	//Funcion que inicializa el componente.
	initComponent: function() {
		Ext.apply(this,{
			layout: 'border',
			items: [{
				//Formulario central de la ventana.
				id: 'loginForm',
				region: 'center',
				xtype: 'form',
				monitorValid: true,
				//waitMsgTarget: true,
				bodyStyle: "padding: 30 20;",
				labelWidth: 75,
				defaults: {
					xtype: 'textfield',
					allowBlank: false,
					anchor: '100%'
				},
				//Campos del formulario.
				items: [{
					id: 'tfUsername',
					fieldLabel: 'Usuario',
					name: this.userFieldName,
					emptyText: 'Ingrese su nombre de usuario'
				},{
					id: 'tfPassword',
					fieldLabel: 'Contraseña',
					name: this.passFieldName,
					inputType: 'password'
				}],
				//Botones del formulario
				buttons: [{
					//Boton aceptar 
					formBind: true,
					text: this.loginButtonLabel,
					scale: 'medium',
					handler: this.submitHandler,
					scope: this
				},{
					//Boton cancelar 
					text: this.cancelButtonLabel,
					scale: 'medium',
					handler: this.cancelHandler,
					scope: this
				}]
			}]
		});
		
		com.krames.general.LoginDialog.superclass.initComponent.apply(this, arguments);
	},
	
	//Manejador para el boton de login
	submitHandler: function(btn, evt) {
		console.log('logeando...');
		//Envio del formulario
		Ext.getCmp('loginForm').getForm().submit();
		/*Estos parametros se los quite al submit para probar, pero igual falla.
		 * {
			method: 'POST',
			//waitMsg: 'Autenticando con el servidor...',
			
			//Manejador para resultado correcto
			success: function(form, action){
				//Ext.MessageBox.alert('success','Respuesta recibida.');
			},
			
			//Manejador para resultado fallido
			failure: function(form, action){
				//Ext.MessageBox.alert('failure','Respuesta recibida.');
			}
		}*/
	},
	
	//Manejador para el boton de cancel
	cancelHandler: function(btn, evt) {
		console.log('Cancelando...');
	}
});
Todo funciona muy bien, excepto lo más importante... el envio.
El firebug me arroja el siguiente error:

uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXMLHttpRequest.open]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: http://localhost/ext/adapter/ext/ext-base.js :: i :: line 7" data: no]

Sé que el error está en la linea "Ext.getCmp('loginForm').getForm().submit();" porque el mensaje en la consola "Logeando..." si lo muestra.

Si alguien sabe que significa ese error y como solucionarlo se lo agradeceré con el alma.

Gracias de antemano.
  #2 (permalink)  
Antiguo 12/09/2010, 18:03
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema extjs formulario

Acabo de darme cuenta de que el error no detiene la ejecución del script.
Si pongo instrucciones despues del evio del formulario se ejecutan bien, pero los listenerss que configuro para el envio no se ejecutan nunca:

Código:
Ext.getCmp('loginForm').getForm().submit({
			//Manejador para resultado correcto
			success: function(form, action){
				console.log('Llegó respuesta success.');
				Ext.MessageBox.alert('success','Respuesta recibida.');
			},
			
			//Manejador para resultado fallido
			failure: function(form, action){
				console.log('Llegó respuesta failure.');
				Ext.MessageBox.alert('failure','Respuesta recibida.');
			}
		        Ext.MessageBox.alert('Datos','Enviados.');
		});
Si alguien me hiciera el favor de probar qué está mal, se lo agradecería mucho.
No se si se trata de un error en el código, ya que lo he visto igual en muchos ejemplos.

Etiquetas: extjs, firebug, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:56.