Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/10/2007, 11:16
Avatar de @ndreX!
@ndreX!
 
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 4
Duda OnReadyStateChange

Saludos. Tengo un pequeño dilema con esto, y es que tengo una funcion para hacer Busqueda con Ajax, un pequeño AutoCompletador o Sugerencias de Busqueda. Ahora bien, digamos que ya casi esta listo, pero tengo un problema, en mi PHP tengo un sleep de 5 segundos, para poder ver el famoso "Loading..." pero cuando hace la consulta, se bloquea mi browser, hasta que pasan los 5 segundos. ¿Exactamente adonde debería cambiar el display para que se me mostrara el "Loading.."?

La variable qu utilizo para el Loading es LoadingWait.

Código:
	function Search(idin,results,url,wait){
		inputSearch = document.getElementById(idin);
		DivResultto = document.getElementById(results);
		LoadingWait = document.getElementById(wait);
				
		if(inputSearch.value != '' && inputSearch.value.length > 1){
			ajax = objetoAjax();
			ajax.onreadystatechange=function() {
				if(ajax.readyState == 4){
					DivResultto.innerHTML 	  = ajax.responseText;
					LoadingWait.style.display = 'none';
					DivResultto.style.display = '';
				}
				else{
					LoadingWait.style.display = '';
					DivResultto.style.display = 'none';
				}

			}
			ajax.open("GET", url+inputSearch.value);
			ajax.send(null);
		}
		else{
			return false;
		}
	}
Y a tal función la llamo así:

Código HTML:
<form>
	<input type="text" onkeyup="Search(this.id, 'u', 'php/bgproc.php?searchid=', 'indicator1');" name="page" id="v" value="" />
	<span id="indicator1" style="display:none;"><img style="display: inline;" src="img/loader.gif" /></span>
</form>
<div id="u" class="autocomplete"></div> 
Nose si estaria bien esto, espero sus comentarios.

Saludos.