Foros del Web » Programando para Internet » Javascript »

Problema con un script - Mostrar/Ocultar una tabla

Estas en el tema de Problema con un script - Mostrar/Ocultar una tabla en el foro de Javascript en Foros del Web. Saludos , tengo el siguiente problema : <script language="javascript"> function mostrar_ocultar(name) { if ( name == 'Add more pets' ) { document.getElementById('button_pet').value='Close '; document.getElementById('table_p1').style.display= 'table'; ...
  #1 (permalink)  
Antiguo 12/08/2008, 17:11
 
Fecha de Ingreso: agosto-2008
Mensajes: 7
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema con un script - Mostrar/Ocultar una tabla

Saludos , tengo el siguiente problema :

<script language="javascript">
function mostrar_ocultar(name)
{

if ( name == 'Add more pets' )
{
document.getElementById('button_pet').value='Close ';
document.getElementById('table_p1').style.display= 'table'; /// aqui es mi problema
}
if ( name == 'Close' )
{
document.getElementById('button_pet').value='Add more pets';
document.getElementById('table_p1').style.display= 'none';
}
}

</script>


al usar style.display='table'; para mostrar la tabla dado un click en un boton , me presenta el problema de que me funciona correctamente en mozilla , pero al usar el internet explorer no se me presenta nada de informacion , es decir no se muestra la tabla que estaba oculta y que la quiero mostrar luego de dar click , alguien me podria ayudar ??

No se si usar alguno de los atributos del display , intente usar 'block' , pero asi se me arreglo el problema en el internet explorer , mas en el mozilla me presento el problema que se me descuadra completamente y no quiero esto

Hay alguna manera de usar un metodo con un navegador y otro metodo diferente con un navegador distinto , de ser asi cual seria ?'

Muchas gracias por su ayuda
  #2 (permalink)  
Antiguo 13/08/2008, 02:14
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Problema con un script - Mostrar/Ocultar una tabla

Hola,

La verdad que no me he preocupado de las incopatibilidades de IE y otros navegadores nunca, pero en tu casoyo lo que haría sería detectar el navegador antes de mostrar la tabla:

Código PHP:
<script language="javascript">
function 
mostrar_ocultar(name)
{

if ( 
name == 'Add more pets' )
{
document.getElementById('button_pet').value='Close ';
navegador navigator.appName;
if (
navegador == "Microsoft Internet Explorer")
document.getElementById('table_p1').style.display'block';
else
document.getElementById('table_p1').style.display'table';
}
if ( 
name == 'Close' )
{
document.getElementById('button_pet').value='Add more pets';
document.getElementById('table_p1').style.display'none';
}
}

</script> 
Claro está que aquí solo he contemplado dos posibilidades, que sea Ie o que no losea. Si quieres que sea para más navegadores haces un switch o amplias el if y listos. espero que te sea de ayuda.

Saludos.
  #3 (permalink)  
Antiguo 13/08/2008, 06:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Problema con un script - Mostrar/Ocultar una tabla

Hola

Yo siempre uso esta

Código PHP:
var ns6 = (document.getElementById)? true:false
var ie4 = (document.all)? true:false
var ns4 = (document.layers)? true:false
function captura_objeto(idnombre) {
    if (
ns6)
    {
    return 
document.getElementById(idnombre);
    }
    else if (
ie4)
    {
    return 
document.all[idnombre];
    }
    else if (
ns4)
    {
    return 
document.layers[idnombre];
    }
    else
    {
    return 
null;
    }
}


function 
mostrar(m) {
var 
obj captura_objeto('muestra_ocultaobj_' this.id)
        if (
obj.style.visibility == 'hidden')  obj.style.visibility"visible";
        else 
obj.style.visibility"hidden";

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 13/08/2008, 06:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Problema con un script - Mostrar/Ocultar una tabla

La solución de Adler es buena, aunque hay que tener en cuenta que display y visibility no hacen exactamente la misma cosa. Lo mejor supongo yo sería como dijo crujikoki detectar el navegador y de acuerdo a eso cambiar el display.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 13/08/2008, 06:46
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Problema con un script - Mostrar/Ocultar una tabla

Hola, tienes razón David

Así que ahí va este

Código PHP:
function recoge_despliega(objid) {
obj captura_objeto('muestra_ocultaobj_' objid);
    if (
obj) {
    
obj.style.display = (obj.style.display == 'none') ? "block" "none";
    }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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:42.