Foros del Web » Programando para Internet » Javascript »

Abrir contenido de un DIV en nueva ventana?

Estas en el tema de Abrir contenido de un DIV en nueva ventana? en el foro de Javascript en Foros del Web. Hola! Es mi primer hilo aqui, estoy superatascada en una cosa a ver si me podeis ayudar.. A ver, tengo un proyecto en Liftweb scala, ...
  #1 (permalink)  
Antiguo 14/02/2014, 12:39
 
Fecha de Ingreso: febrero-2014
Mensajes: 1
Antigüedad: 10 años, 2 meses
Puntos: 0
Abrir contenido de un DIV en nueva ventana?

Hola! Es mi primer hilo aqui, estoy superatascada en una cosa a ver si me podeis ayudar..
A ver, tengo un proyecto en Liftweb scala, con html y demas. El caso es:

En la pagina inicial index.html tengo esto:
<lift:auth_utils.if_logged>
<lift:embed what="/last_events" />
</lift:auth_utils>

Esto carga last_events, en donde hay esto:
<div>
<lift:last_events.urgent_incidences />
</div>

En LasEvents.scala -> urgentIncidences, rellena de datos una plantilla con la tabla, que se encuentra en templates-hidden:

<div class="last-events">
<h2 class="title">
<span><list:title /> <list:count /></span>
<a href="javascript:showOrHideTable('table_urgent_inc idences')"> <list:count /> </a>
<span class="small"><list:subtitle/></span>
</h2>
<div id="table_urgent_incidences" style="display: none">
<table class="table sortable">
---
---
</table>
</div>
</div>

Como veis, la tabla inicialmente no se muestra, se muestra si le doy al link <a> donde pone el numero de incidencias urgentes de la tabla (<list.count/>) con esta funcion:

function showOrHideTable(id) {
mostrado=0;
elem = document.getElementById(id);
if (elem.style.display=="block") mostrado=1;
elem.style.display="none";
if(mostrado!=1)elem.style.display="block";
}

Y querria, que en lugar de mostrarse la tabla en la misma pagina inicial, me saltase otra ventana con la tabla, quedando la pagina inicial sin tocar, es decir, trasladar el div que contiene la tabla a otra nueva pagina...
He probado asi:

function showOrHideTable(id) {
var div = document.getElementById(id).outerHTML;
var w = window.open('','','width=600,height=600');//Aqui tb me vale una nueva pestaña
var doc = w.document;
doc.open();
doc.write(div);
doc.close();
}

Pero esto en firefox no funciona, da undefined el outerHTML. y en chrome se muestra, pero sin formato, pierde el formato la tabla y se muestra como texto sin mas, sin colores de fondo, ni posiblidad de ordenar (class sortable) etc...
Tambien he probado con target _blank en el link pero nada...

Alguna idea de como podria hacerlo? Muchas gracias chicos ;)
  #2 (permalink)  
Antiguo 15/02/2014, 09:08
Avatar de herran1212  
Fecha de Ingreso: julio-2013
Ubicación: cali
Mensajes: 89
Antigüedad: 10 años, 9 meses
Puntos: 3
Respuesta: Abrir contenido de un DIV en nueva ventana?

hola.
si esta todo en un div, puedes capturar todo el contenido con un innerHTML en una variable, luego abre la ventana y le envias la variable con el contenido, y alli, con javascript, le haces innerHTML= variable, entonces estarias capturando en una el contenido y renderizandolo de nuevo en otro div de otro lugar,
saludos

Etiquetas: contenido, href, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:05.