Foros del Web » Programando para Internet » Javascript »

Ocultar y hacer visible un campo

Estas en el tema de Ocultar y hacer visible un campo en el foro de Javascript en Foros del Web. Quiero hacer lo siguiente: Tengo creado un campo, pero sólo quiero q se vea cuando se pulse sobre un checkbox. Inicialmente quiero q no aparezca, ...
  #1 (permalink)  
Antiguo 26/01/2006, 12:11
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
Pregunta Ocultar y hacer visible un campo

Quiero hacer lo siguiente:
Tengo creado un campo, pero sólo quiero q se vea cuando se pulse sobre un checkbox. Inicialmente quiero q no aparezca, y al pulsar sobre el checkbox q se vea. Si pongo en la etiqueta del input "hidden", no puedo hacerlo visible de ninguna forma... o mejor dicho, no sé cómo hacerlo. Alguien puede ayudarme?
  #2 (permalink)  
Antiguo 26/01/2006, 12:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
Ok, ok, ok... Solucionado!! Me faltaban unas comillas por ahí... Q despiste!!!
  #3 (permalink)  
Antiguo 26/01/2006, 12:18
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
Pero ahora me sale en un lugar q no quiero. Quiero ponerlo a la derecha de un texto, y se me pone en la fila de abajo, como si hiciera un <br>. A qué es debido?
  #4 (permalink)  
Antiguo 26/01/2006, 12:18
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Hola AnDrEa MM

Si pones el código será más fácil ver donde está el fallo.

Saludos,
  #5 (permalink)  
Antiguo 26/01/2006, 12:33
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
La función q he creado en JS es la siguiente:

Código PHP:
<script language="JavaScript"
function 
mostrarOcultar() {
    if (
document.getElementById('aforo').checked==false)
    
document.getElementById('nplazas').style.display='none';
    else
    
document.getElementById('nplazas').style.display='block';
}
</script> 
Con ella consigo q me desaparezca y aparezca el campo de texto "nplazas" con el comportamiento q deseo.

Y donde llamo a la función es mediante el siguiente código:

Código PHP:
echo "<fieldset>";
echo 
"<legend>OTRAS CARACTERÍSTICAS</legend>";
echo 
"<h5>AFORO LIMITADO: <input name=\"aforo\" type=\"checkbox\" onClick=\"mostrarOcultar()\">";
echo 
"Nº DE PLAZAS:  <input style=\"display:none;\" name=\"nplazas\" type=\"text\" size=\"8\" maxlength=\"5\"><br>";
echo 
"</fieldset>"
  #6 (permalink)  
Antiguo 26/01/2006, 12:46
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Hola de nuevo.

He hecho algunos cambios a tu código para simplificarlo.

Este sería el formulario (te lo pongo en HTML y tu te encargas de "traducirlo" a PHP)
Código PHP:
<h5>AFORO LIMITADO: <input name="aforo" type="checkbox" onClick="mostrarOcultar(this)">
N&#186; DE PLAZAS:  <input style="visibility:hidden;" name="nplazas" type="text" size="8" maxlength="5"><br> 
Y la funcioncilla para mostrar/ocultar:
Código PHP:
function mostrarOcultar(obj) {
  
nplazas.style.visibility = (obj.checked) ? 'visible' 'hidden';

Espero que te sirva. Saludos,
  #7 (permalink)  
Antiguo 26/01/2006, 12:55
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
Wow, q maravilla!! Jaja, a mí es q se me mostraba abajo la caja de texto... Muchas gracias, así además queda más simplificado... :D GRACIAS!!!
  #8 (permalink)  
Antiguo 26/01/2006, 13:15
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
De nada. Me alegro de que te haya gustado. Hasta pronto
  #9 (permalink)  
Antiguo 24/02/2006, 14:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 16
Antigüedad: 21 años, 7 meses
Puntos: 0
Cita:
Iniciado por JavierB
De nada. Me alegro de que te haya gustado. Hasta pronto
JavierB, cuando utilizo tu solucion me da el siguiente error
'nplazas' no esta definido'
  #10 (permalink)  
Antiguo 27/02/2006, 11:22
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
Hola inetd!

Creo q lo q falla en tu código (y en el mío q dejé puesto arriba también ocurría) es q a la caja de texto le tienes q añadir id="nplazas", ya q con darle ese valor como nombre no vale. Tienes q darle ese valor en la propiedad id. Es decir, quedaría así:

Código HTML:
AFORO LIMITADO: <input name="aforo" type="checkbox" onClick="mostrarOcultar(this)">
Nº DE PLAZAS:  <input style="visibility:hidden;" name="nplazas" id="nplazas" type="text"> 
Y la función JavaScript q tiene el código para mostrar y ocultar el input type=text sería la misma. Mira a ver si así te funciona.

Un saludo y suerte
  #11 (permalink)  
Antiguo 27/02/2006, 15:44
 
Fecha de Ingreso: mayo-2003
Mensajes: 16
Antigüedad: 21 años, 7 meses
Puntos: 0
Cita:
Iniciado por AnDrEa MM
Hola inetd!

Creo q lo q falla en tu código (y en el mío q dejé puesto arriba también ocurría) es q a la caja de texto le tienes q añadir id="nplazas", ya q con darle ese valor como nombre no vale. Tienes q darle ese valor en la propiedad id. Es decir, quedaría así:

Código HTML:
AFORO LIMITADO: <input name="aforo" type="checkbox" onClick="mostrarOcultar(this)">
Nº DE PLAZAS:  <input style="visibility:hidden;" name="nplazas" id="nplazas" type="text"> 
Y la función JavaScript q tiene el código para mostrar y ocultar el input type=text sería la misma. Mira a ver si así te funciona.

Un saludo y suerte
Lo probe haciendo un Copy Paste de la funcion y lo ultimo que pegaste y aun sigue dando el error de 'nplazas' No esta definido
  #12 (permalink)  
Antiguo 28/02/2006, 22:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 20
Antigüedad: 18 años, 9 meses
Puntos: 0
como ocultar los contadores de nedbasic,saben?
  #13 (permalink)  
Antiguo 01/03/2006, 09:27
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
Vamos a ver, creo q ahora sí !!
Mira, sustituye tu función javascript por la siguiente:

Código:
function mostrarOcultar(obj) {
  document.getElementById('nplazas').style.visibility = (obj.checked) ? 'visible' : 'hidden';
}
A mí si q me sale de la otra forma, y la verdad es q no sé por qué. Lo he probado en un scirpt a parte y entonces no sale, pero en el q ya tenía creado si, no lo uso tal y como lo lo dije aquí, ya q el código HTML está dentro de una función PHP a la q llamo... Pero el resultado final creo q debería ser el mismo... No lo entiendo!! En fin, voy a cambiarlo usando "getElementById" q de esa forma no da ningún tipo de problema. Pruébalo, ok? Y si sigue sin salir ... entonces será culpa del pc . Suerte!!!
  #14 (permalink)  
Antiguo 01/03/2006, 15:04
 
Fecha de Ingreso: mayo-2003
Mensajes: 16
Antigüedad: 21 años, 7 meses
Puntos: 0
Muchisimas gracias AnDrEa MM
ahora si que funciona a la perfeccion
  #15 (permalink)  
Antiguo 02/03/2006, 03:27
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años, 7 meses
Puntos: 1
Jeje, ok, conseguido!! Me alegro q hayamos sabido solucionarlo.
Saludos!!
  #16 (permalink)  
Antiguo 15/05/2007, 01:37
Avatar de duendeduende  
Fecha de Ingreso: mayo-2007
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
De acuerdo Re: Ocultar y hacer visible un campo

Me habeis sido de ayuda, gracias!
  #17 (permalink)  
Antiguo 24/04/2012, 02:50
 
Fecha de Ingreso: marzo-2011
Mensajes: 11
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ocultar y hacer visible un campo

y cuando dicho campo esta en un while como podria hacerlo para ocultar todos los campo de la misma id
Gracias
  #18 (permalink)  
Antiguo 24/04/2012, 08:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Respuesta: Ocultar y hacer visible un campo

Hola kurika

Te recuerdo el aviso que había al final de este tema y que parece que no has leído o no le has hecho ni caso.



Tema cerrado.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:35.