Foro

Excepción al enviar formulario.

0
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:
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 :: <!-- m -->http://localhost/ext/adapter/ext/ext-base.js<!-- m --> :: 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.
0
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:
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.
0
Pues la verdad que si era eso, jejeje como se me pasó configurar la url. Gracias tokkaido por tu observacion. Otra cosa. Por qué no me llegan las respuestas a mi correo?
0
de nada, a veces se nos escapan cosas obvias pero es que entre tanta linea de codigo seria anormal que no nos pasara. creo que para que te envie una notificacion de respuesta a tu correo debes cambiar la configuracion de [b]Notificarme de respuestas por defecto[/b] en el [b]panel de control de usuario>Preferencias de foros>editar preferencias de mensajes[/b] o si solo quieres que un mensaje en particular se te notifique antes de publicar seleccionar aqui debajito [b]Enviarme un email cuando un mensaje es respondido[/b] <!-- s;) --><!-- s;) -->
0
es probable que te falte la propiedad "url" con la dirección de la pagina en que manejas la información, por ejemplo: [b]url : 'login.php'[/b] en la definicion de tu [b]form[/b] no en la del window. espero te sirva <!-- s;) --><!-- s;) -->

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.