Indicador "Loading" ajax

Hola, En una llamada ajax cómo puedo hacer para mostrar un loading en el
tiempo que llama a la función y retorna los datos?
<%= link_to_remote( cli.nombre, :update => “listado_categorias”, :url
=>{ :action => :getCategorias,:id=>cli.id}) %>

Gracias

Miguel Angel Calleja Lázaro wrote:

Hola, En una llamada ajax c�mo puedo hacer para mostrar un loading en el
tiempo que llama a la funci�n y retorna los datos?
<%= link_to_remote( cli.nombre, :update => “listado_categorias”, :url
=>{ :action => :getCategorias,:id=>cli.id}) %>

Gracias

Hola Miguel, solamente debes de añadir esto:

:loading=>“Element.show(‘progreso’)”

Pero antes debes de crearte una imagen con un id “unico” y ocultarlo por
ejemplo:

<%= image_tag “spinner.gif”, :id => “progreso”, :style =>
‘display:none;’%>

Yo lo tengo hecho de forma genérica así:

En application.js:
Ajax.Responders.register({
onCreate:showLoader,
onComplete:hideLoader
});

function showLoader(){
    $('capa_cargando').style.visibility="visible"
}

function hideLoader(){
    $('capa_cargando').style.visibility='hidden';
}

En el layout común:

<%=image_tag 'spinner.gif'%> CARGANDO...

Y el estilo para esto:

#capa_cargando {
position: absolute;
top: 2px;
right: 15px;
background-color: #FAD163;
color: black;
font-weight: bold;
font-size: 9px;
padding: 3px;
visibility: hidden;
text-align: right;
}