Foros del Web » Programando para Internet » Javascript »

JS - si el checkbox == seleccionado mostrar div

Estas en el tema de JS - si el checkbox == seleccionado mostrar div en el foro de Javascript en Foros del Web. Hola, me gustaría mostrar o esconder un div dependiendo de si un checkbox esta selecionado o no. Encontre un codigo que funciono en FF pero ...
  #1 (permalink)  
Antiguo 08/10/2008, 12:10
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
JS - si el checkbox == seleccionado mostrar div

Hola, me gustaría mostrar o esconder un div dependiendo de si un checkbox esta selecionado o no.
Encontre un codigo que funciono en FF pero en IE hace que todo el contenido de la pagina desaparezca menos el checkbox.

El codigo que use en la etiqueta head,
<script>
<!--
function c(){}
function test(){
if(document["form"]["box"].checked){
document.getElementById("myText").style.visibility ="visible"}
else{
document.getElementById("myText").style.visibility ="hidden"}
}
//-->
</script>


y acá está el resto del codigo...

<form name="form">

<label for="condiciones">Condiciones
<input type="checkbox" name="box" checked="checked"
onclick ="c();test()" /></label>

</form>

<div id="myText"><img src="img/button.png" /></div>

Si alguien me pudiera ayudar seria bueno, también traté con soluciones similares pero me pasó con todas lo mismo.

Gracias, Marcelo.
__________________
ginkgo.com.uy

Última edición por marcelomdsc; 08/10/2008 a las 12:51 Razón: agregar codigo que faltaba
  #2 (permalink)  
Antiguo 08/10/2008, 12:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: JS - si el checkbox == seleccionado mostrar div

Pero, no pusiste el div en ese código .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 08/10/2008, 12:51
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

perdon. Listo.
__________________
ginkgo.com.uy
  #4 (permalink)  
Antiguo 08/10/2008, 13:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: JS - si el checkbox == seleccionado mostrar div

Yo lo he probado y funciona bien en IE y en Firefox, oculta el div con la imagen que está dentro. ¿Qué es en realidad lo que quieres ocultar?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 09/10/2008, 06:06
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

si es eso lo que quiero que haga, pero cuando lo pruebo en ie (7), cuando carga la pagina desaparece todo el contenido menos el checkbox.
__________________
ginkgo.com.uy
  #6 (permalink)  
Antiguo 09/10/2008, 07:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: JS - si el checkbox == seleccionado mostrar div

En ese caso habría que ver el código completo, además, según el caso deberías usar display en vez de visibility ya que visibility sigue ocupando espacio aunque esté oculto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 09/10/2008, 09:10
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

gracias, ya lo solucioné. Al subirlo al servidor y probarlo desde ahi, si funcionó.
Aunque no funciona bien si se pone para que el checkbox no esté seleccionado por defecto. ya que el div aparece igual.

En éste caso, si quiero que ocupe ese espacio, pero si no quisiera como lo haria?
__________________
ginkgo.com.uy
  #8 (permalink)  
Antiguo 09/10/2008, 09:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: JS - si el checkbox == seleccionado mostrar div

En cuanto al problema del checkbox puedes solucionarlo llamando a la función test() en el evento onload.

Y cuando no quieras que ocupe el espacio:
Código javascript:
Ver original
  1. elemento.style.display = "none"; //Oculto
  2. elemento.style.display = "block"; //Visible

P.S.: Tu código podría resumirse así:
Código javascript:
Ver original
  1. document.getElementById("myText").style.visibility = (document.form.box.checked) ? "visible" : "hidden";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 09/10/2008, 09:16
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

gracias!

Me podes explicar mejor lo primero, el problema del checkbox si no estuviera seleccionado.
No se mucho js, como llamo la funcion test(), osea como lo implementaría en mi codigo?
__________________
ginkgo.com.uy
  #10 (permalink)  
Antiguo 09/10/2008, 09:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: JS - si el checkbox == seleccionado mostrar div

Me refiero a que uses el evento onload:
Código javascript:
Ver original
  1. window.onload = function() {
  2.     /* Este código se ejecuta al terminar de cargar el documento */
  3.     test();
  4. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 09/10/2008, 09:20
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

y en que parte de mi codigo lo pongo?
__________________
ginkgo.com.uy
  #12 (permalink)  
Antiguo 09/10/2008, 09:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: JS - si el checkbox == seleccionado mostrar div

Puedes poner en el header.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 09/10/2008, 09:31
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

perdon, pero todavia no entiendo.
este es el codigo de mi funcion...
Cita:
function c(){}


function test(){
if(document["form"]["box"].checked){
document.getElementById("subirFoto").style.visibil ity="visible"}
else{
document.getElementById("subirFoto").style.visibil ity="hidden"}
}
como le agrego lo que vos decis?
__________________
ginkgo.com.uy
  #14 (permalink)  
Antiguo 09/10/2008, 09:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: JS - si el checkbox == seleccionado mostrar div

Lo que yo te había puesto es una función aparte.

Simplemente coloca debajo de esas dos funciones y listo.

P.S.: ¿O te estás refiriendo a la forma resumida que comenté? .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 09/10/2008, 10:05
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

le agregué ese codigo pero igual no funciona bien.
Osea que si elijo que el checkbox no esté seleccionado por defecto el div aparece igual, hasta que lo seleccion y lo vuelvo a des-seleccionar ahi si desaparece.
__________________
ginkgo.com.uy
  #16 (permalink)  
Antiguo 09/10/2008, 10:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: JS - si el checkbox == seleccionado mostrar div

¿Podrías poner el código de la página como lo tienes ahora?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #17 (permalink)  
Antiguo 09/10/2008, 10:49
Avatar de marcelomdsc  
Fecha de Ingreso: junio-2007
Ubicación: Windsor, California.
Mensajes: 706
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: JS - si el checkbox == seleccionado mostrar div

si, está todo aca.
__________________
ginkgo.com.uy
  #18 (permalink)  
Antiguo 09/10/2008, 10:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: JS - si el checkbox == seleccionado mostrar div

Pero no agregaste el código que mencioné, y además, en esa página el checkbox está seleccionado por defecto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 09/10/2008, 12:17
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: JS - si el checkbox == seleccionado mostrar div

Me pregunto, por que la imagen enlaza hacia un correo electrónico? ademas, no necesitas un div para eso. Hay que pensar un poco mas en la semántica y no caer en la divmania. El codigo que David te ha pasado soluciona todo, solo lee atentamente y veras que no es difícil.

Saludos.
__________________
twitter: @imbuzu
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 09:58.