Foros del Web » Programando para Internet » Javascript » Frameworks JS »

optimizar menus dependientes

Estas en el tema de optimizar menus dependientes en el foro de Frameworks JS en Foros del Web. estimados.. hice esta funcion para mostrar en un menu_destino las opciones que levanta de un xml al cual le pase como parametro el valor del ...
  #1 (permalink)  
Antiguo 04/08/2006, 10:55
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
optimizar menus dependientes

estimados.. hice esta funcion para mostrar en un menu_destino las opciones que levanta de un xml al cual le pase como parametro el valor del menu_origen
funcionar... funciona.. el tema es que porejemplo
selecciono una provincia y la pagina me queda intulizada hasta que se llena el menu, queda como toda dura, de que manera puedo manejar eso y no mostrar nada hasta qeu se termine de cargar asi no queda todo congelado
mil gracias les dejo el codigo


Código HTML:
function menu_xml(menu_origen,menu_destino,tipo){
	if(menu_origen.value!=0){
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
		xmlDoc.async="false"
		if(tipo==1){
			xmlDoc.load("xml/localidades.php?IDprovincia="+menu_origen.value)
		}
		if(tipo==2){
			xmlDoc.load("xml/modelos.php?IDmarca="+menu_origen.value)
		}		
		document.getElementById(menu_destino).options.length=0;
			
		for (i=0;i<xmlDoc.documentElement.childNodes.length;i++){
			v0 = xmlDoc.documentElement.childNodes.item(i).childNodes.item(0).text
			v1 = xmlDoc.documentElement.childNodes.item(i).childNodes.item(1).text
			document.getElementById(menu_destino).options[i]=new Option(v1,v0);
		}
	} else {
		document.getElementById(menu_destino).options.length=0;
		document.getElementById(menu_destino).options[0]=new Option("","0");
	}
}
... y lo llamo asi...
Código HTML:
onChange="Javascript:menu_xml(this,'mi_localidad',1)"
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 06/08/2006, 22:26
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 19 años, 3 meses
Puntos: 2
No tengo experiencia en el uso de la clase XMLDOM (parece ser que solo funcionará en IE, aquí tienes algo para Firefox y compañía: http://www.forosdelweb.com/showthread.php?t=404740), pero por lo que leí, la propiedad "async" debe estar en true para funcionar asincrónicamente. Al ponerla en true deberás esperar que la propiedad onreadystatechange del objeto xmlDoc esté en "4" para recorrer tu XML, al igual que se hace con el objeto XMLHTTP comunmente utilizado para AJAX.

Espero que estos datos te resulten de utilidad. Saludos.
__________________
R4DS en español | R4DS en inglés
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 05:06.