Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2012, 04:24
agr1971gal
 
Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Selects INDEPENDIENTES al cargar la página

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>