Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Matener posicion del scrollbar

Hola a tod@s,
Mi problema en Visual Studio y en este caso se resuelve con this.MaintainScrollPositionOnPostBack = true: y mi pregunta es como mantener la posición del scrollbar en una pagina jsf siendo la estructura del árbol de componentes como por ejemplo la siguiente
<f:view xmlns:h="http://java.sun.com/jsf/html" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">

af:document id="d1"
af:resources type="javascript"
refreshScrollBar= function(event){
var source = event.getSource();
if(null!=source){
var y = source.scrollTop;
alert(y);
}
}
af:resources>
<h:form id="f1">

af:commandButtom id="cb1" text="Refresh scroll bar"
af:clientListener method="refreshScrollBar" type="click"
af:commandButtom>

</h:form>
af:clientListener method="refreshScrollBar" type="load"
af:document>
</f:view>

El alert(y) siempre me devuelve undefined.

Muchas gracias y un saludo

Jose

octubre 3, 2013 | Unregistered CommenterJose

Buenas,

Depura el javascript con firebug o las herramientas de chrome | IE.
A mi me da que el "source" de tu evento javascript es el botón, cuando lo que deberias mirar es la tabla, no?

Un saludo

octubre 5, 2013 | Unregistered CommenterUnoPorAhi

Hola,
No, la estructura del árbol de la pagina es la que he descrito en el post, sin ningún componente mas.

Muchas gracias y un saludo.

octubre 8, 2013 | Unregistered CommenterJose

???

octubre 9, 2013 | Unregistered CommenterUnoPorAhi

No hay ningún componente af:RichTable o h:table si es a lo que te refieres.
Al clickar el componente af:commandButtom mediante el componente operation(af:clientListener) necesito recuperar la posición del scrollbar.

Muchas gracias y un saludo.

octubre 9, 2013 | Unregistered CommenterJose

Para Javascript el codigo jsf no existe. El solo ve el DOM de la estructura HTML.

Cuando se ejecuta el codigo Javascript en tu cliente-navegador el servidor ya ha procesado y expandido las tags JSF transformandose en HTML que devuelve como response tas la peticion de tu cliente.
Por eso te comento que es importante que depures con firebug o similar desde tu navegador para que compruebes la estructura HTML generada y depures el javascript ejecutado para ver porque source.scrollTop devuelve undefined.

Como te comento, si el evento se produce desde un boton, lo normal es que el source del evento sea el propio boton. Los botones no tienen la propiedad scrollTop. Pero todo esto es algo que tienes que confirmar depurando tu codigo generado.
Por desgracia no hay solucion magica.

Un saludo

octubre 10, 2013 | Unregistered CommenterUnoPorAhi