Problema con javascript y jsp

Hola, tengo un par de dudas, a ver si me puedes ayudar.
1.- Necesito pasar una variable javascript como parámetro a un método jsp. Sería algo así:
<%metodoJSP(variableJavaScript%>. ¿hay alguna forma de hacerlo? Espero haberme explicado bien.
2.- El otro problema es si con javascript existe alguna forma de ajustar el tamaño de una ventana a su contenido, en concreto el contenido es una tabla.
Gracias de antemano

1 respuesta

Respuesta
1
Tranquilo, mientras sean preguntas especificas no me importa responder a varias de seguido :D
Ponle a la tabla un name="tabla" y creo que puedes acceder en plan formulario como document.tabla.width.
Si no, puedes usar DOM:
Ponle a la tabla id="tabla" y accedes como:
document.getElementByID("tabla").getAttribute("height");
Efectivamente, aunque no lo pongas a la tabla un ancho y alto fijos, al terminar de cargarse deberías de poder mirar su alto y ancho.
Si tienes problemas con esto, mirare algo más, pero 80% seguro de que si se puede acceder a esos datos.
Gracias, ya nos vamos acercando. Todavía queda otro detalle.
Lo de la propiedad 'name', al menos a mi no me ha funcionado.
Lo de usar DOM funciona, pero por lo que he prebado, el getAttribute solo es capaz de pillar los atributos que se hallan puesto explicitamente en el tag <table>.
Me explico, si tengo por ejemplo:
<table id="tabla" width="200">
Entonces puedo leer el valor de 'width'
Si tengo (y es mi caso) esto:
<table id="tabla">
Entonces no puedo leer el atributo 'width'.
Gracias por las molestias.
Hola de nuevo, espero no estar siendo muy pesado.
El problema es que hasta donde yo he visto, no existe un objeto javascript que haga referencia a una tabla html, como pasa con los formularios por ejemplo, y no veo la forma de acceder a esos datos.
Si puedes encontrar algo te lo agradecería, yo ya no se por donde buscar.
Gracias. Saludos
Pues si que es un lio, vaya... ¿puedes enviarme un trozo de código para echarle un vistazo? Es que si no, así a ciegas se me hace más difícil. Se positivamente que las imágenes tienen esos atributos aunque no los pongas, ¿así qué igual puedes "simular" el ancho y alto de la tabla con imágenes?
Pásame el código o dime donde lo tienes colgado, ¿ok?
Te respondo por partes...
1.- El paso que me pides no es posible directamente, porque, como sabrás, jsp se ejecuta en servidor y el javascript en cliente, de modo que SIEMPRE se ejecuta primero el jsp y luego el javascript. Así pues, cuando creas la variable de javascript, el jsp ya se ha ejecutado, por lo que no podrás "volver atrás en el tiempo" para que la tome.
Lo que puedes hacer como alternativa es enviarle la variable por parámetro al jsp. O también por un formulario donde pongas el valor de la variable de javascript.
2.- Siendo el contenido una tabla, lo que puedes hacer es un onLoad en el que se ajuste el alto y ancho de la ventana a los valores width y height de la tabla. Aquí debes tener cuidado, porque los navegadores son caprichosos a la hora de manejar estas cosas. Lo más fiable es ajustar al tamaño de una imagen cargada como objeto Image.
Muchas gracias por la aclaración.
Solo una cosa con la segunda pregunta, que no me he explicado bien, mi tabla se genera con javascript, y no siempre representa lo mismo, con lo que el numero de filas y columnas puede cambiar, y por lo tanto el tamaño.
La pregunta sería si una vez generada la tabla se puede leer el tamaño de alguna forma, para asignárselo así a la ventana que la muestra.
De nuevo gracias.
Hola,
Mandarte el código entero es una pasada, y además tiene asociado un montón de librerías javascript.
Si quieres te puedo mandar algunos trozos y comentarte de que va cada cosa.
Yo todavía no lo tengo colgado, pero si pinchas en este enlace puedes ver que es lo que quiero hacer:
http://maps.esri.com/website/mehtml/
Cuando se cargue utiliza la herramienta de informaciónm(el botón de la i) y pulsa en el mapa. En el cuadro de abajo te saldrán una serie de tablas. Pues lo que yo quiero es que esas tablas (en mi caso solo es una) salgan en una nueva ventana con un tamaño según la tabla y librarme de el frame de abajo.
¿Qué lio verdad?
Saludos
Creo que contigo y esta pregunta estoy llegando casi a mi record de longitud de una respuesta ;D No te preocupes, me gusta ayudar.
Lo que me comentas depende de si es para explorer o para netscape. Personalmente, yo lo haría más mirando a explorer o a navegadores de mac; netscape esta muerto.
Puedes echar un ojo a:
http://www.google.es/search?hl=es&ie=UTF-8&oe=UTF-8&q=javascript+document+propiedades&meta=lr%3Dlang_es
Donde puedes ver que en general, el objeto document carece de dichos atributos (ya te digo que es posible que sean de netscape; en cuyo caso, creo que hacen referencia estrictamente al documento).
http://www.dansteinman.com/dynduo/es/scrollconcepts.html
Ya he visto la pagina; esta muy chula, me gusta :D (si te vale, le quitaría los bordes a los frames).
Entiendo lo que quieres hacer... y creo que lo más fácil es que metas siempre una tabla lo suficiente grande desde el principio como para que te entre la información de todas, al menos de ancho.
De todas formas... ¿no tienes manera de saber cuando metes las tablas el tamaño de las mismas? Quiero decir, si sabes que es una tabla de 5x6, por ejemplo, ¿no puedes saber el alto y ancho de la misma y meterle los atributos width y height a la tabla?
No tengo demasiado tiempo ahora, a ver si te lo puedo mirar más tranquilo, ¿vale?
Si que esta bien, existe una herramienta que te genera toda la aplicación web. Yo estoy tratando de personalizar el resultado, por ejemplo quitándole los bordes a los frames.
Bueno, he encontrado una especie de solución, no es muy elegante, pero consigo un resultado más o menos como el que busco. No se que dimensión tiene la tabla, pero si puedo saber el numero de registros que va a tener y el numero de campos, así que he hecho un apaño tipo por cada registro el tamaño va a ser X. Más o menos queda bien.
Por último, he visto que existe algo así como 'document.width' y document.heigth. ¿Crees qué me sirve de algo? Es que no se muy bien a que hace referencia. Es decir ¿devuelve el tamaño de todo el documento? Y ¿Es el mismo que el de la ventana o es solo lo que hay estrictamente en el documento?
Y ya con esto te dejo tranquilo.
Gracias por todo.
Saludos
Bueno, no te preocupes que ya te dejo. Es que cuando me lio con algo soy bastante pesado.
Muchas gracias por todo, me has sido de gran ayuda.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas