Foros del Web » Creando para Internet » HTML »

tablas ocultas

Estas en el tema de tablas ocultas en el foro de HTML en Foros del Web. hola tengo el sgte codigo para tablas ocultas: <html> <head> <title>Muestra oculta</title> <script language="JavaScript"> function muestra_oculta(id){ if (document.getElementById){ //se obtiene el id var el = ...
  #1 (permalink)  
Antiguo 15/07/2009, 19:50
 
Fecha de Ingreso: julio-2009
Mensajes: 32
Antigüedad: 8 años, 5 meses
Puntos: 0
tablas ocultas

hola tengo el sgte codigo para tablas ocultas:

<html>
<head>
<title>Muestra oculta</title>
<script language="JavaScript">
function muestra_oculta(id){
if (document.getElementById){ //se obtiene el id
var el = document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
window.onload = function(){/*hace que se cargue la función lo que predetermina que div estará oculto hasta llamar a la función nuevamente*/
muestra_oculta(<?=$identificador?>);/* "contenido_a_mostrar" es el nombre que le dimos al DIV */
}
</script>

</head>

<body>

<!--Al hace llamado a la función solo tienes que idicar el nombre del DIV entre parentesis -->
<p><a href="#" onclick="muestra_oculta(<?=$identificador?>)">Most rar / Ocultar</a></p>

<table id="<?=$identificador?>">
<tr>
<th>
<p>Este contenido tiene que mostrarse con el link</p>
</table>
</th>
</tr>
</body>
</html>

y mi index.php:

<?php
for($i = 1; $i <= 5; $i += 1){
$identificador=$i;
include('mensaje.html');
}
?>

lo que quiero es que al principio aparescan todas las tablas ocultas pero en ves de que eso suceda me solo me aparece la ultima oculta como podria solucionarlo o cual es el problema
  #2 (permalink)  
Antiguo 16/07/2009, 09:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 9 años, 4 meses
Puntos: 1530
Respuesta: tablas ocultas

Si vas a incluir varias veces un mismo archivo html en otro, elimina los encabezados <html> y <body>, el navegador sólo procesará un onload por body, no múltiples body, lo que tienes que hacer es crear una sola función para el onload del body y en la misma aplicas el ciclo para hacer que se te oculten las tablas, luego al incluir el archivo construye el documento principal e incluye las otras páginas:

Código PHP:
/*Documento principal*/
<html>
<head>
<script>
function muestra_oculta(id){
if (document.getElementById){ //se obtiene el id
var el = document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
function cargar(){
<?php

for($i 1$i <= 5$i ++){
        echo 
'muestra_oculta('.$i.');';
}
?>
}
</script>
</head>
<body onload="cargar();">
<?php
for($i 1$i <= 5$i ++){
        
$identificador=$i;
        include(
'mensaje.php'); //TIENE QUE SER PHP no HTML
}

?>
</body>
</html>

/*mensaje.php*/

<table id="<?php echo $identificador ?>">
<tr>
<th>
<p>Este contenido tiene que mostrarse con el link</p>
</th>
</tr>
</table>
además tienes muchas etiquetas sin cierre.

Última edición por maycolalvarez; 16/07/2009 a las 09:22
  #3 (permalink)  
Antiguo 16/07/2009, 11:10
 
Fecha de Ingreso: julio-2009
Mensajes: 32
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: tablas ocultas

Cita:
Iniciado por maycolalvarez Ver Mensaje
Si vas a incluir varias veces un mismo archivo html en otro, elimina los encabezados <html> y <body>, el navegador sólo procesará un onload por body, no múltiples body, lo que tienes que hacer es crear una sola función para el onload del body y en la misma aplicas el ciclo para hacer que se te oculten las tablas, luego al incluir el archivo construye el documento principal e incluye las otras páginas:

Código PHP:
/*Documento principal*/
<html>
<head>
<script>
function muestra_oculta(id){
if (document.getElementById){ //se obtiene el id
var el = document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
function cargar(){
<?php

for($i 1$i <= 5$i ++){
        echo 
'muestra_oculta('.$i.');';
}
?>
}
</script>
</head>
<body onload="cargar();">
<?php
for($i 1$i <= 5$i ++){
        
$identificador=$i;
        include(
'mensaje.php'); //TIENE QUE SER PHP no HTML
}

?>
</body>
</html>

/*mensaje.php*/

<table id="<?php echo $identificador ?>">
<tr>
<th>
<p>Este contenido tiene que mostrarse con el link</p>
</th>
</tr>
</table>
además tienes muchas etiquetas sin cierre.
gracias muchas gracias me sirvio de mucho tu ejemplo
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 16:13.