Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Duda crear variable añadiendole como parte de nombre una cadena

Estas en el tema de [SOLUCIONADO] Duda crear variable añadiendole como parte de nombre una cadena en el foro de Javascript en Foros del Web. Hola, tengo un código Javascript AJAX como el que véis a continuación que me funciona muy bien, pero cuando llamo a la función varias veces ...
  #1 (permalink)  
Antiguo 03/07/2009, 12:47
TobyMudito
Invitado
 
Mensajes: n/a
Puntos:
[SOLUCIONADO] Duda crear variable añadiendole como parte de nombre una cadena

Hola, tengo un código Javascript AJAX como el que véis a continuación que me funciona muy bien, pero cuando llamo a la función varias veces resulta que a pesar de que Firebug me dice que la respuesta es correcta sólo me muestra en el navegador el .gif para las primeras llamadas y sólo para la última que hago (todas ellas dentro de un bucle) me muestra el resultado correctamente, el caso es que yo creo que ocurre eso porque siempre trabaja con el mismo objeto ajax, lo que se solucionaría si pudiera crear variables distintas cada vez que se ejecutara la función. Pero no se como dinámicamente crear una variable que se llame por ejemplo ajax5 --> ajax+idMedio, eso lo he probado pero no funciona. A ver si me podéis ayudar!! gracias y un saludo!

Código:
function calcularCoste(idMedio,diaSemana){
 textoDiv = 'div'+idMedio;
 divContenido = document.getElementById(textoDiv);
 
 ajax=objetoAjaxPaginar();
 ajax.open("GET", "obtenerPrecio.php?idMedio="+idMedio+"&diaSemana="+diaSemana);
 divContenido.innerHTML= '<img src="images/loading.gif">';
 
 ajax.onreadystatechange=function() {
 if (ajax.readyState==4) {
   		divContenido.innerHTML = ajax.responseText;
 	}
	
 }

 ajax.send(null);
 
}

Última edición por TobyMudito; 03/07/2009 a las 13:46
  #2 (permalink)  
Antiguo 03/07/2009, 12:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: [Sin resolver] Duda crear variable añadiendole como parte de nombre una ca

Colgando de window puedes crear variables como quieras. Por ejemplo:
Código javascript:
Ver original
  1. var numero = 5;
  2. window["variable" + numero] = "valor";
  3. alert(variable5);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 03/07/2009, 13:02
 
Fecha de Ingreso: junio-2009
Mensajes: 32
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: [Sin resolver] Duda crear variable añadiendole como parte de nombre una ca

prueba agregando el valor false al parametro de la funcion open.. asi :
Cita:
ajax.open("GET", "obtenerPrecio.php?idMedio="+idMedio+"&diaSemana=" +diaSemana,false);
cuentas si te funciona o no :S
suerte
  #4 (permalink)  
Antiguo 03/07/2009, 13:07
TobyMudito
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [Sin resolver] Duda crear variable añadiendole como parte de nombre una ca

He probado esto: window["ajax" + idMedio] = objetoAjaxPaginar();

Pero no me funciona, firebug me dice que ajaxidMedio no está definido :S
  #5 (permalink)  
Antiguo 03/07/2009, 13:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: [Sin resolver] Duda crear variable añadiendole como parte de nombre una ca

Lógicamente que si después tratas de acceder a él como ajaxidMedio no funcionará, se accede a él con el valor que tenga idMedio (por ejemplo, si idMedio=1, se accedería usando ajax1 o window["ajax" + idMedio] nuevamente)

Yo opino que es más fácil hacer lo que deseas con un array .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 03/07/2009, 13:11
TobyMudito
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [Sin resolver] Duda crear variable añadiendole como parte de nombre una ca

Cita:
Iniciado por wilarizz Ver Mensaje
prueba agregando el valor false al parametro de la funcion open.. asi :


cuentas si te funciona o no :S
suerte
Te quiero, te juro que te quiero, te añado ahora mismo todos los puntos que tenga a tu Karma, llevo TODA la tarde tratando de resolver este asunto, te agradecería enormemente que me explicaras en qué afecta el parámetro que he añadido.

Madre mía, eres un genio!!
  #7 (permalink)  
Antiguo 03/07/2009, 13:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: [Resuelto] Duda crear variable añadiendole como parte de nombre una cadena

Al colocar el tercer parámetro del método open() a false se hace una petición síncrona, por lo que se espera a recibir la respuesta antes de realizar cualquier otra acción (incluída la de realizar otras peticiones)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 03/07/2009, 13:17
TobyMudito
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [Resuelto] Duda crear variable añadiendole como parte de nombre una cadena

genial, el problema es que ahora con Firefox no aparece ninguno, ni los primeros ni el final, sólo aparece el .gif



Esto es pa mear y no echar gota XD
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 11:05.