Estoy algo despistado. Intento, al cargar una página, que se me recarguen usando javascript y llamadas asíncronas al servidor dos listados. Lo que ocurre es que al llamar DOS VECES a la función, se cargan los datos en el segundo Listbox y desaparece en el primero (El primero funciona; si anulo la carga del segundo se carga el primero).
Me temo que la llamada sólo sirve para un objeto a la vez. ¿Cómo lo hago para cargar dos? Estoy intentando averiguarlo por la web pero no encuentro la solución.
JAVASCRIPT
Código:
HTML<script type="text/javascript" language="javascript"> var READY_STATE_UNINITIALIZED=0; var READY_STATE_LOADING=1; var READY_STATE_LOADED=2; var READY_STATE_INTERACTIVE=3; var READY_STATE_COMPLETE=4; var parametro=""; var peticion_http; function cargaContenido(url, metodo, funcion, query) { peticion_http = inicializa_xhr(); if(peticion_http) { peticion_http.onreadystatechange = funcion; peticion_http.open(metodo, url, true); peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // alert(query); var query_string = "lee="+query; peticion_http.send(query_string); } } function inicializa_xhr() { if(window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } } function muestraContenido() { if(peticion_http.readyState == READY_STATE_COMPLETE) { if(peticion_http.status == 200) { var lista = document.getElementById(parametro); var datos = eval("(" + peticion_http.responseText + ")"); lista.options.length = 0; var i=0; for(var codigo in datos) { lista.options[i] = new Option(datos[codigo], codigo); i++; } } } } function cargarListas() { parametro="selectlugar"; cargaContenido("./obtenerlugares.php", "POST", muestraContenido, "Consigue"); parametro="selecttipomaterial"; cargaContenido("./obtenertipomaterial.php", "POST", muestraContenido, "Consigue"); } window.onload = cargarListas; </script>
Código HTML:
<!-- Lugar --> <select name="select" class="botones" id="selectlugar"> <option value="">Descargando</option> </select> </p> <!--Tipo de material --> <p style="text-align: justify;"> <select name="select" class="botones" id="selecttipomaterial"> <option value=""> Descargando </option> </select> </p>