Hola chicos/as,
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:
<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>
HTML 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>