Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   al clickear en checkbox mostrar controles (http://www.forosdelweb.com/f13/clickear-checkbox-mostrar-controles-567933/)

ElAprendiz 20/03/2008 16:37

al clickear en checkbox mostrar controles
 
tengo un formulario basico, y mas abajo tengo controles adicionales, estos quiero que sean visibles solo cuando se habilita el checkbox. como puedo hacerlo?

ElJavista 20/03/2008 16:43

Re: al clickear en checkbox habilitar controles
 
Visible o habilitado? en el título pusiste habilitar y en la pregunta dijiste visible, disculpame, pero no es lo mismo amigo. Para habilitar se hace de la siguiente manera:

Digamos que quieras habilitar un botón (al fin y al cabo si fuera un input de cualquier tipo sería lo mismo). OK el botón es este:

<button id="miboton">Mi boton</button>

y este es el check:

<input type="checkbox" onClick="document.getElementById('miboton').disabl ed = !this.checked" /> Habilitar

Pero si quieres jugarte con la visibilidad entonces se hace así:

<input type="checkbox" onClick="setVis(this.value)" /> Habilitar

La función setVis() sería de esta manera:

function setVis(chk) {
var ele = document.getElementById("miboton");
if (chk) ele.style.visibility = 'visible';
else ele.style.visibility = 'hidden';
}

Espero te haya servido.

ElAprendiz 20/03/2008 17:20

Re: al clickear en checkbox habilitar controles
 
ahhh era visible, gracias por responder

mmmhh pero segun el segundo codigo, no le agrego anda a los controles que quedaran invisibles?

pd: ahh tengo que colocarle el id=miboton

Pd2: me funciona solo el primero osea lo deshabilita, igual me puedes ervir.....

ElJavista 20/03/2008 20:19

Re: al clickear en checkbox mostrar controles
 
Ok, mira, obviamente tienes que agregar el id, pero si no te funciona debe ser porque algo habrás escrito mal. especialmente la palabra "visibility" o con la mayúsculas, ya que el JavaScript distingue mayusculas y minúsculas, revísa eso cuidadosamente. Y si aún no te sale, bueno te sirve la primera alternativa.

Bellenger 21/03/2008 09:15

Re: al clickear en checkbox mostrar controles
 
Si las etiquetas HTML que deseas ocultar son varias, seria recomendable que las colocaras dentro de un contenedor{div}, cosa que solo juegas con este a ocultarlo y mostrarlo, por defecto si lo ocultas el contenido tambien....:patada:

ElAprendiz 21/03/2008 15:16

Re: al clickear en checkbox mostrar controles
 
Cita:

Iniciado por Bellenger (Mensaje 2331377)
Si las etiquetas HTML que deseas ocultar son varias, seria recomendable que las colocaras dentro de un contenedor{div}, cosa que solo juegas con este a ocultarlo y mostrarlo, por defecto si lo ocultas el contenido tambien....:patada:

eso me interesa, seria mas facil. seria el mismo codigo, y le agrego el id="miboton"?

ElJavista 21/03/2008 15:36

Re: al clickear en checkbox mostrar controles
 
Puedes agregar el id que quieras con tal que en la función JavaScript también uses ese mismo id.

ElAprendiz 21/03/2008 15:50

Re: al clickear en checkbox mostrar controles
 
haber esto no me resulta, mejor pongo parte del codigo, no pongo todo por que es mucho

en la parte de arriba
Código:

<HEAD>
<TITLE>New Document</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<link href="ESTILO.CSS" rel="stylesheet" type="text/css">
<!--#include file="includes.asp"-->
<script language="JavaScript">
function setVis(chk) {
var ele = document.getElementById("miboton");
if (chk) ele.style.visibility = 'visible';
else ele.style.visibility = 'hidden';
}
</script>
</HEAD>

<BODY>
.
.
.


y abajo dentro del body

Código:

<input type="checkbox" onClick="setVis(this.value)">Habilitar
       
        <div id="miboton">
        <br><br><strong>Requerimientos</strong>
        <br>
        Los postulantes deben cumplir los siguientes requisitos
        <br><br>
        </div>

y cierro con /body y /html

ElJavista 21/03/2008 19:31

Re: al clickear en checkbox mostrar controles
 
El error está en el valor del check, no es value, es checked.

ElAprendiz 21/03/2008 20:23

Re: al clickear en checkbox mostrar controles
 
ejale! ahi si

gracias

PD: heyyy, tengo un problema yo pense ke al ocultarlo lo que kedaba abajo del div subia, es que tengo un boton para enviar el formulario y keda muy abajo. tienes idea como arreglarlo

Bellenger 21/03/2008 23:03

Re: al clickear en checkbox mostrar controles
 
Podrias ponerle height=0px, aunque es raro lo que dices que no ajusta las demas etiquetas html...:patada:

ElAprendiz 22/03/2008 14:29

Re: al clickear en checkbox mostrar controles
 
Cita:

Iniciado por Bellenger (Mensaje 2331992)
Podrias ponerle height=0px, aunque es raro lo que dices que no ajusta las demas etiquetas html...:patada:

no funciona como tu lo pusiste

lo puse asi y tampoco
<div id="miboton" style="margin : 1px">

ElJavista 22/03/2008 16:30

Re: al clickear en checkbox mostrar controles
 
Bueno, ya pues amigo, hay que investigar también un poco y no solo andar preguntando. Debes aprender a ser autodidacta. Para estas alturas ya debiste investigar lo que es hoja de estilos, recuerda que todos los estilos se pueden manipular con JavaScript.

En lugar de de cambiarl el estilo "visibility" cambia el estilo "display". Eso hará el trabajo como lo quieres.

ElAprendiz 22/03/2008 17:04

Re: al clickear en checkbox mostrar controles
 
sigue igual


<script language="JavaScript">
function setVis(chk) {
var ele = document.getElementById("miboton");
if (chk) ele.style.display = 'visible';
else ele.style.display = 'hidden';
}
</script>

Bellenger 23/03/2008 10:38

Re: al clickear en checkbox mostrar controles
 
Cita:

Iniciado por ElJavista (Mensaje 2332584)
Bueno, ya pues amigo, hay que investigar también un poco y no solo andar preguntando. Debes aprender a ser autodidacta. Para estas alturas ya debiste investigar lo que es hoja de estilos, recuerda que todos los estilos se pueden manipular con JavaScript.

En lugar de de cambiarl el estilo "visibility" cambia el estilo "display". Eso hará el trabajo como lo quieres.

Caramba no es por generar polemica, pero si vas participar en el foro de esa manera mejor no participes. Y no se cambia el estilo si no la propiedad.
Y en cuanto a ti {ElAprendiz}, seria asi:
Código HTML:

<script language="JavaScript">
  function setVis(chk) {
  var ele = document.getElementById("miboton");
  if (chk) {
    ele.style.display = 'block';
  }else{
    ele.style.display = 'none';
  }
}
</script>

No es por nada pero siempre recomiendo colocar las llaves aunque sea una linea la que ejecutara el if o while, etc...
Aqui para que investigues un poco mas sobre CSS: CSSYA...:patada:

ElAprendiz 23/03/2008 10:53

Re: al clickear en checkbox mostrar controles
 
vale lo voy a probar.

PD:excelente Gracias!

martaGarmilla 28/04/2008 15:29

Re: al clickear en checkbox mostrar controles
 
Hola! me interesa tambien saber como poder ocultar el contenido del Div, y que sobretodo el espacio no se quede en blanco, sino que los controles que estan debajo, suban.

muchas gracias!

martaGarmilla 28/04/2008 15:58

Re: al clickear en checkbox mostrar controles
 
Cita:

Iniciado por martaGarmilla (Mensaje 2383066)
Hola! me interesa tambien saber como poder ocultar el contenido del Div, y que sobretodo el espacio no se quede en blanco, sino que los controles que estan debajo, suban.

muchas gracias!

bueno.. buscando un poco mas por ahi lo he conseguido:

if (chk){
ele.style.display = 'block';
}
else{ ele.style.display = 'none';
}

ahi estaba el asunto, tal como dijo "ElJavista", pero al probarlo la primera vez no me funciono.

saludos!


La zona horaria es GMT -6. Ahora son las 07:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.