Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 04-ago-2006, 10:55   #1 (permalink)
Usuario no validado
dieguicho está en el buen camino
 
Avatar de dieguicho
 
Fecha de Ingreso: noviembre-2002
Ubicación: Buenos Aires
Mensajes: 903
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)"
dieguicho está desconectado   Responder Citando
Antiguo 06-ago-2006, 22:26   #2 (permalink)
zaqpz está en el buen camino
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 390
Enviar un mensaje por MSN a zaqpz
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
zaqpz está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:25.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93