Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2010, 10:07
Krames
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 14 años, 3 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.