Foros del Web » Programando para Internet » Javascript »

paso de valor a variable ?

Estas en el tema de paso de valor a variable ? en el foro de Javascript en Foros del Web. Buenas a todos, primero aclarar q no se de javascript por eso consulto aqui, tengo el siguiente problema, estoy implementando una pagina que requiere AJAX, ...
  #1 (permalink)  
Antiguo 09/04/2009, 10:31
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
paso de valor a variable ?

Buenas a todos, primero aclarar q no se de javascript por eso consulto aqui, tengo el siguiente problema, estoy implementando una pagina que requiere AJAX, encontre un script que hace lo siguiente:

Código:
var include_terminado = function (oXML) { document.getElementById('seccionDIV').innerHTML = oXML.responseText; };

function include_dinamico (url)
{
	var codigo = document.getElementById('campoUnico').value;
	
	myConn.connect("include.php", "GET", "variable="+url+"&codigo="+codigo, include_terminado);
}
explicando: al hacer un click en un botonde mi pagina se dispara a "include_dinamico" el que agarra el valor de un input text llamado campoUnico y muestra su contenido en un <div> de mi pagina, funciona de maravilla pero el problema es que necesito este codigo para utilizarlo en varios botones con sus varios input text y DIVs corespondientes, por lo que necesito parametrizar el id 'campoUnico' y eld div 'seccionDIV'
para eso cambie el cogigo asi:

Código:
var include_terminado = function (idet) {
	var datodevuelto  ='0';
	var procesa = function (oXML) { datodevuelto = oXML.responseText; };
	procesa; 
	document.getElementById(idet).innerHTML = datodevuelto };


function include_dinamico (dato)
{
	var codigo = document.getElementById('cod'+dato).value;
	if (codigo != ''){
	document.getElementById('det'+dato).innerHTML = "<img src='../images/action/loading.gif' />";
	myConn.connect("../lib/include.php", "GET", "variable=locidprod&codigo="+codigo, include_terminado('det'+dato));
	}
}
el problema a qui es que 'datodevuelto' siempre me da el valor '0' asi que la linea --- var procesa = function (oXML) { datodevuelto = oXML.responseText; }; --- no me altera el valor de 'datodevuelto ' que es lo que quiero, lo primero q se me ocurre es denir 'datodevuelto' como 'global' o algo asi, intente otras cosas pero no me sale, ya les dije no se bien javascript, alguna idea?
  #2 (permalink)  
Antiguo 09/04/2009, 10:45
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: paso de valor a variable ?

Seguramente estás usando AJAX en modo asíncrono, por lo que la devolución de los datos no se realiza dentro del flujo normal de javascript. Tendrás que ver otra forma de hacerlo o usar AJAX en modo síncrono. De todas maneras te sugiero que reportes el mensaje para que algún moderador lo mueva al foro de AJAX.
  #3 (permalink)  
Antiguo 09/04/2009, 10:49
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: paso de valor a variable ?

gracias por la respuesta pero no creo que sea eso, ya hice correr el primer ejemplo y funciona, lo que pasa es que estoy haciendo algo mal con la sintaxis, cambie el cogo a:

Código:
var include_terminado = function (oXML,idet) { document.getElementById(idet).innerHTML = oXML.responseText; };

function include_dinamico (dato)
{
	var codigo = document.getElementById('cod'+dato).value;
	if (codigo != ''){
	document.getElementById('det'+dato).innerHTML = "<img src='../images/actions/loading.gif' />";
	myConn.connect("../lib/include.php", "GET", "variable=locidprod&codigo="+codigo, include_terminado(oXML,'det'+dato));
	}
}
y me da error de que oXML no esta definido.
  #4 (permalink)  
Antiguo 09/04/2009, 11:33
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
solucionado

solucionado con una simple declaracion global y reacomodando variables:

Código:
var datodiv = '0';

var include_terminado = function (oXML) { document.getElementById(datodiv).innerHTML = oXML.responseText; };

function include_dinamico (dato)
{
	var codigo = document.getElementById('cod'+dato).value;
	if (codigo != ''){
		datodiv = 'det'+dato;
	document.getElementById(datodiv).innerHTML = "<img src='../images/actions/loading.gif' />";
	myConn.connect("../lib/include.php", "GET", "variable=locidprod&codigo="+codigo, include_terminado);
	}
}
perdon por hacerles perder el tiempo!!!! algun dia aprendere javascript
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 07:15.