Foros del Web » Programando para Internet » Javascript »

onload con dos funciones

Estas en el tema de onload con dos funciones en el foro de Javascript en Foros del Web. Cuando ejecuto esto: Código: window.onload=function() { Solicitud2("desplegableInicial2","mar1"); Solicitud("desplegableInicial","desp1"); // mostramos el primer desplegable } Solo me funciona la primera funcion puesta, ya que si pongo ...
  #1 (permalink)  
Antiguo 25/05/2009, 05:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
onload con dos funciones

Cuando ejecuto esto:

Código:
window.onload=function()
{
	Solicitud2("desplegableInicial2","mar1");
	Solicitud("desplegableInicial","desp1"); // mostramos el primer desplegable
}
Solo me funciona la primera funcion puesta, ya que si pongo Solicitud() sobre Solicitud2(), Solicitud() si me va y la otra no, alguien me podria decir la manera de que se ejecuten las dos.
  #2 (permalink)  
Antiguo 25/05/2009, 12:11
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: onload con dos funciones

Deberían funcionar ambas, ¿cuál es el código de esas funciones?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 26/05/2009, 00:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
Respuesta: onload con dos funciones

Código:
var Conexion=false; // Variable que manipula la conexion.
var Conexion2=false; 
var Servidor2="desplegable2.php";
var Servidor="desplegable.php";

// funcion que realiza la conexion con el objeto XMLHTTP...
function Conectar()
{
	if(window.XMLHttpRequest)
		Conexion=new XMLHttpRequest(); //mozilla
	else if(window.ActiveXObject)
		Conexion=new ActiveXObject("Microsoft.XMLHTTP"); //microsoft
}
function Conectar2()
{
	if(window.XMLHttpRequest)
		Conexion2=new XMLHttpRequest(); //mozilla
	else if(window.ActiveXObject)
		Conexion2=new ActiveXObject("Microsoft.XMLHTTP"); //microsoft
}

function Contenido(idContenido)
{
	/* readyState devuelve el estado de la conexion. puede valer:
	 *	0- No inicializado (Es el valor inicial de readyState)
	 *	1- Abierto (El método "open" ha tenido éxito)
	 *	2- Enviado (Se ha completado la solicitud pero ningun dato ha sido recibido todavía)
	 *	3- Recibiendo
	 *	4- Respuesta completa (Todos los datos han sido recibidos)
	 */

	// En espera del valor 4
	if(Conexion.readyState!=4) return;
	/* status: contiene un codigo enviado por el servidor
	 *	200-Completado con éxito
	 *	404-No se encontró URL
	 *	414-Los valores pasados por GET superan los 512
	 * statusText: contiene el texto del estado
	 */
	if(Conexion.status==200) // Si conexion HTTP es buena !!!
	{
		/* Modificamos el identificador temp con el valor recibido por la consulta
		 *	Podemos recibir diferentes tipos de datos:
		 *	responseText-Datos devueltos por el servidor en formato cadena
		 *	responseXML-Datos devueltos por el servidor en forma de documento XML
		 */
		document.getElementById(idContenido).innerHTML=Conexion.responseText;
	}else{
		document.getElementById(idContenido).innerHTML=Conexion.status+"-"+Conexion.statusText;
	}
	
	Conexion=false;
}

function Solicitud1(Parametro,idContenido)
{
	if(Parametro)
	{
		// Si ya esta conectado, cancela la solicitud en espera de que termine
		if(Conexion) return; // Previene uso repetido del boton.
		
		// Realiza la conexion
		Conectar();
		
		// Si la conexion es correcta...
		if(Conexion)
		{
			/* Preparamos una conexion con el servidor:
			*	POST|GET - determina como se envian los datos al servidor
			*	true - No sincronizado. Ello significa que la página WEB no es interferida en su funcionamiento
			*	por la respuesta del servidor. El usuario puede continuar usando la página mientras el servidor
			*	retorna una respuesta que la actualizará, usualmente, en forma parcial.
			*	false - Sincronizado */
			Conexion.open("GET",Servidor+"?show="+Parametro,true);
	
			// Cada vez que el estado de la conexión (readyState) cambie se ejecutara el contenido de esta "funcion()"
			Conexion.onreadystatechange=function()
			{
				Contenido(idContenido);
			}
			
			/* Realiza la solicitud al servidor. Puede enviar una cadena de caracteres, o un objeto del tipo XML
			* Si no deseamos enviar ningun valor, enviamos null */
			Conexion.send(null);
		}else
			document.getElementById(idContenido).innerHTML="No disponible";
	}else
		document.getElementById(idContenido).innerHTML="";

}
function Solicitud2(Parametro,idContenido)
{
	if(Parametro)
	{
		if(Conexion2) return; 
		Conectar2();
		if(Conexion2)
		{
			Conexion2.open("GET",Servidor2+"?show2="+Parametro,true);
	
			Conexion2.onreadystatechange=function()
			{
				Contenido2(idContenido);
			}
			Conexion2.send(null);
		}else
			document.getElementById(idContenido).innerHTML="No disponible";
	}else
		document.getElementById(idContenido).innerHTML="";

}
window.onload=function()
{
	//Solicitud("desplegableInicial","desp1","desplegableInicial2","mar1");
	Solicitud2("desplegableInicial2","mar1");
	Solicitud1("desplegableInicial","desp1"); // mostramos el primer desplegable
}
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 18:26.