Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2010, 15:54
Avatar de salbatore
salbatore
 
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Problema en enviar variables entre funciones

Hola foreros!,

Llevo un tiempo intentando enviar variables entre dos funciones pero me da errores algo complejos. Las dos funciones se encargar de hacer peticiones asincronomas... ajax.

Lo que deseo es enviar el nombre del formulario que requiere el ajax, mirar el codigo es sencillo:

Funcion que crea la llamada:
Código Javascript:
Ver original
  1. //connection
  2.     function _conection(formulario,url,value,method)
  3.         {
  4.             if (window.ActiveXObject)
  5.                 {
  6.                     try{request = new ActiveXObject("Msxml2.XMLHTTP");}
  7.                     catch(e)
  8.                         {
  9.                             try{request = new ActiveXObject("Microsoft.XMLHTTP");}
  10.                             catch(e){request = false;}
  11.                         }
  12.                 }
  13.             if (request)
  14.                 {
  15.                     request.onreadystatechange = _load(formulario);
  16.                     request.open(method, url);
  17.                     request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
  18.                     request.send(value);
  19.                 }
  20.         }

Funcion en recibir los datos
Código Javascript:
Ver original
  1. //load
  2.         function _load(formulario)
  3.             {
  4.                 if (request.readyState == 4)
  5.                     {
  6.                         if (request.status == 200)
  7.                             {
  8.                                 //recibida la informacion
  9.                                 alert(formulario);
  10.                                 return false;
  11.                             }
  12.                     }
  13.                 else
  14.                     {
  15.                         //cargando             
  16.                     }
  17.             }

Como veis la variable que envio es "formulario". La recibe _connection como "formulario" y la envia a _load en "request.onreadystatechange = _load(formulario);", pero al terminar el proceso la funcion _load a perdido el contenido de la variable.


Lo he probado con variables globales, es decir, almacenar el contenido en una funcion externa... eso funciona, pero ahora me encuentro con que no puedo hacerlo. Asi que mi pregunta es:

¿Como podria hacer el envio de la variable entre funciones correctamente en este caso?, segun creo es por que se llama variables veces a _load... o algo asi... :P.

¿Sabeis algo?