Foros del Web » Programando para Internet » Javascript »

ocultar div en mozilla con style.display

Estas en el tema de ocultar div en mozilla con style.display en el foro de Javascript en Foros del Web. Buenas decidí probar mi aplicación web sólo en mozilla, ya que IE en cualquier version es muy malo y ningún otro navegador no me da ...
  #1 (permalink)  
Antiguo 19/02/2010, 08:36
 
Fecha de Ingreso: noviembre-2009
Mensajes: 112
Antigüedad: 14 años, 4 meses
Puntos: 0
Sonrisa ocultar div en mozilla con style.display

Buenas decidí probar mi aplicación web sólo en mozilla, ya que IE en cualquier version es muy malo y ningún otro navegador no me da confianza,,,

Tengo el siguiente javascript que me funciona bn en IE y en Opera pero como dije voy a trabajar solo con mozilla. El script es:

<script>
function verificarRespuesta(idpracespecifica, idprodtrabajo)
{

var res = document.getElementById(idpracespecifica).value;

if(res == "Si")
{
idprodtrabajo.style.display="";
}
else
{
idprodtrabajo.style.display="none";
}


}
</script>

idpracespecifica es para obtener la respuesta (Si o No) e idprodtrabajo es un div que muestra dependiendo de la practica y de la respuesta, esta codificado asi:

<div id="<?php echo ("pt".$id_pracespecifica); ?>" style="display:none">

Como hago para que me funcione en firefox,, estuve leyendo y probé eliminando caché e historial y no funcionó

Gracias por las prontas respuestas
  #2 (permalink)  
Antiguo 19/02/2010, 08:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: ocultar div en mozilla con style.display

En lugar de display="" usa display="block"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/02/2010, 09:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 112
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ocultar div en mozilla con style.display

Gracias por responder,, pero no funcionó

Estoy utilizando la última versión de firefox

Otra idea??
  #4 (permalink)  
Antiguo 19/02/2010, 10:16
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: ocultar div en mozilla con style.display

¿Cómo llamas a la función?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 19/02/2010, 10:45
 
Fecha de Ingreso: noviembre-2009
Mensajes: 112
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ocultar div en mozilla con style.display

esta dentro de un select y la llamo asi

<select name="<?php echo ("pracespecifica".$id_pracespecifica); ?>" id="<?php echo ("pracespecifica".$id_pracespecifica); ?>" onchange="verificarRespuesta(this.name, <?php echo ("pt".$id_pracespecifica); ?>)">
<option value="No" id="0" selected>No</option>
<option value="Si" id="1">Si </option>
</select>

y el div ya lo escribí antes y es éste:

<div id="<?php echo ("pt".$id_pracespecifica); ?>" style="display:none">
  #6 (permalink)  
Antiguo 19/02/2010, 10:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: ocultar div en mozilla con style.display

Debes tener en cuenta que name e id son dos cosas diferentes. Además, sólo Internet Explorer permite acceder a los elementos por su id/name desde el ámbito global.

En tu caso, el problema es que estás pasando como parámetro a la función el name del select, pero después tratas de obtener la referencia usando document.getElementById (recuerda, name e id no son lo mismo)

El segundo problema es que estás tratando de acceder al <div> por su id desde el ámbito global, siempre debes usar document.getElementById("id_elemento").propiedad en lugar de id_elemento.propiedad
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 19/02/2010, 11:09
 
Fecha de Ingreso: noviembre-2009
Mensajes: 112
Antigüedad: 14 años, 4 meses
Puntos: 0
Mensaje Respuesta: ocultar div en mozilla con style.display

Gracias de nuevo, cambie lo q ud me dijo y qdo asi

LA LLAMADA A LA FUNCIÓN:

<select id="<?php echo ("pracespecifica".$id_pracespecifica); ?>" onchange="verificarRespuesta(this.id, <?php echo ("pt".$id_pracespecifica); ?>)">
<option value="No" id="0" selected>No</option>
<option value="Si" id="1">Si </option>
</select>

EL SCRIPT:


function verificarRespuesta(idpracespecifica, idprodtrabajo)
{

var res = document.getElementById(idpracespecifica).value;
alert(res);

if(res == "Si")
{
alert(res);
document.getElementById(idprodtrabajo).style.displ ay="block";
}
else
{
document.getElementById(idprodtrabajo).style.displ ay="none";
}


}
</script>

Y EL DIV:
<div id="<?php echo ("pt".$id_pracespecifica); ?>" style="display:none">

Y algo curioso es q puse a q me mostrara la variable res para saber lo que escoja el usuario y no me muetsra el alert...mmm
  #8 (permalink)  
Antiguo 19/02/2010, 11:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: ocultar div en mozilla con style.display

Es que el id del div debe ir entre comillas a la hora de llamar:
Código Javascript:
Ver original
  1. verificarRespuesta(this.id, '<?php echo ("pt".$id_pracespecifica); ?>');
Para detectar esos problemas, te resultará muy útil ir a la Consola de Errores de Firefox para obtener más información de los errores que se producen.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 19/02/2010, 11:17
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: ocultar div en mozilla con style.display

Buenas,

te faltan las comillas en document.getElementById(idprodtrabajo) en varios sitios.
  #10 (permalink)  
Antiguo 19/02/2010, 13:21
 
Fecha de Ingreso: noviembre-2009
Mensajes: 112
Antigüedad: 14 años, 4 meses
Puntos: 0
De acuerdo Respuesta: ocultar div en mozilla con style.display

David muchas gracias,, faltaba esa parte
.
Y tecno, en este caso no van entre comillas porque tanto idprodtrabajo como idpracespecífica entran como parámetro a la función de Javascript.

De nuevo gracias por la ayuda
  #11 (permalink)  
Antiguo 19/02/2010, 19:08
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: ocultar div en mozilla con style.display

Buenas,

no tiene mucho sentido pasar un id como parámetro ya que siempre lo tendrás accesible con getElementById, puedes definirlo directamente en la función o definirlo en la función init y pasar la variable res como parámetro y te ahorrarias tener que definirlo cada vez, pero no sería necesario pasar el parámetro si sólo te vas a referir a un elemento como parece ser el caso por lo que se ve en el código.
Si lo que quieres es actuar sobre varios elementos habría mejores formas de hacerlo que con id pero eso no se ve en el código que has mostrado.
El id que pones en los option no es válido porque no pueden empezar por un número ni por un guión.

Etiquetas: mozilla
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 07:08.