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:
Todo funciona muy bien, excepto lo más importante... el envio.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...'); } });
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.