Unir dos aplicaciones de ajax en un sola pagina
![]()
Nivel 1 (24 posts)
0 
| #0 | ![]() |
wilrocaul | 05 dic 08 |
Realize dos aplicaciones similares diferentes de select dependientes por separado pero necesariamente debo colocarlas ambas dentro de una página php..
Me salió un problema que al ejecutar el script una de las dos aplicaciones no funciona...(la primera que coloco dentro del script)
Al hacerlas funcionar por separado funciona ambas perfectamente pero al unirlas una deja de funcionar...ojala me puedan ayudar...
El codigo para la primera aplicacion es algo asi:
//1.----INSTANCIAR REQUEST--------------------------------------------
function inicializa_xhr() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
return new ActiveXObject(\"Microsoft.XMLHTTP\");
}
}
//MOSTRAR MENUS_SECCIONES-----------------------------------
function muestraSecciones() {
if (peticion.readyState == 4) {
if (peticion.status == 200) {
var lista = document.getElementById(\"seccion\");
var secciones = eval(\'(\' + peticion.responseText + \')\');
lista.options[0] = new Option(\"- Información General -\");
var i=1;
for(var codigo in secciones) {
lista.options[i] = new Option(secciones[codigo], codigo);
i++;
}
}
}
}
//CARGAR MENUS----------------------------------
function cargaMenus() {
var lista = document.getElementById(\"seccion\");
var seccion = lista.options[lista.selectedIndex].value;
peticion = inicializa_xhr();
if (peticion) {
peticion.onreadystatechange = muestraMenus;
peticion.open(\"POST\", \"http://localhost/www.dominio.com/menu_vertical/servidor/menus_menusJSON.php?nocache=\" + Math.random(), true);
peticion.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");
peticion.send(\"seccion=\" + seccion);
}
}
//MOSTRAR MENUS--------------------------------
function muestraMenus() {
if (peticion.readyState == 4) {
if (peticion.status == 200) {
var lista = document.getElementById(\"menu\");
var menus= eval(\'(\' + peticion.responseText + \')\');
lista.options.length = 0;
var i=0;
for(var codigo in menus) {
lista.options[i] = new Option(menus[codigo], codigo);
i++;
}
}
}
}
//CARGAR ITEMS----------------------------------
function cargaItems(){
var lista = document.getElementById(\"menu\");
var menu = lista.options[lista.selectedIndex].value;
peticion = inicializa_xhr();
if (peticion) {
peticion.onreadystatechange = muestraItems;
peticion.open(\"POST\", \"http://localhost/www.dominio.com/menu_vertical/servidor/menus_itemsJSON.php?nocache=\" + Math.random(), true);
peticion.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");
peticion.send(\"menu=\" + menu);
}
}
//MOSTRAR ITEMS--------------------------------
function muestraItems() {
if (peticion.readyState == 4) {
if (peticion.status == 200) {
var lista = document.getElementById(\"item\");
var items= eval(\'(\' + peticion.responseText + \')\');
lista.options.length = 0;
var i=0;
for(var codigo in items) {
lista.options[i] = new Option(items[codigo], codigo);
i++;
}
}
}
}
/ /ONLOAD-------------------------------------
window.onload = function() {
peticion = inicializa_xhr();
if(peticion) {
peticion.onreadystatechange = muestraSecciones;
peticion.open(\"GET\", \"http://localhost/www.dominio.com/menu_vertical/servidor/menus_seccionesJSON.php?nocache=\"+Math.random(), true);
peticion.send(null);
}
document.getElementById(\"seccion\").onchange = cargaMenus;
document.getElementById(\"menu\").onchange = cargaItems;
}
</script>
</head>
<body>
<form>
<select name=\"seccion\" id=\"seccion\">
<option>Cargando...</option>
</select>
<select id=\"menu\" class=\"cambio1\">
<option>- menu -</option>
</select>
<select id=\"item\" class=\"cambio2\" >
<option>- item -</option>
</select>
</form>
Al hacer la segunda aplicacion utilize el objeto accion para llamar a la funcion inicializa_xhr();
window.onload = function() {
accion = inicializa_xhr();
if(accion) {
accion.onreadystatechange = muestraSecciones;
accion.open(\"GET\", \"http://localhost/www.dominio.com/menu_vertical/servidor/carga_regionesJSON.php?nocache=\"+Math.random(), true);
accion.send(null);
}
document.getElementById(\"region\").onchange = cargaProvincias;
document.getElementById(\"provincia\").onchange = cargaCiudades;
}
Uní las dos aplicaciones en un solo archivo pero igual funciona solo la segunda aplicación..
Gracias por su ayuda
