Foros del Web » Programando para Internet » Javascript »

ocular o mostrar un input text mediante un checkbox

Estas en el tema de ocular o mostrar un input text mediante un checkbox en el foro de Javascript en Foros del Web. Buenos días tengo problemas con un código que hice, la idea es que el usuario seleccione un checkbox y aparezca automaticamente un input text, del ...
  #1 (permalink)  
Antiguo 13/07/2011, 06:43
 
Fecha de Ingreso: julio-2011
Ubicación: En todos lados
Mensajes: 13
Antigüedad: 12 años, 9 meses
Puntos: 1
ocular o mostrar un input text mediante un checkbox

Buenos días tengo problemas con un código que hice, la idea es que el usuario seleccione un checkbox y aparezca automaticamente un input text, del mismo modo otro checkbox y que aparezca un text, pero al momento de seleccionar cualquiera de los dos checkbox me aparecen los dos input text :( y ese no es la idea. me podrían ayuda?, dejo el código, Saludos.


function mostrarOcultar(obj)
{

if(fvalida.chkoir.value = true)
{fvalida.oir.style.visibility = (obj.checked) ? 'visible' : 'hidden';
}
if(fvalida.chkpep.value = true)
{fvalida.pep.style.visibility = (obj.checked) ? 'visible' : 'hidden';
}
}

<input name="chkoir" type="checkbox" title="OIR" onClick=" return mostrarOcultar(this)">&nbsp;<input style="visibility:hidden;" name="oir" type="text" title="OIR" size="15" maxlength="15">

<input name="chkpep" type="checkbox" title="PEP" onClick=" return mostrarOcultar(this)">&nbsp;<input style="visibility:hidden;" name="pep" title="PEP" type="text" size="15" maxlength="15">
  #2 (permalink)  
Antiguo 13/07/2011, 07:58
 
Fecha de Ingreso: julio-2011
Ubicación: En todos lados
Mensajes: 13
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: ocular o mostrar un input text mediante un checkbox

Lo solucione dividiendolo en dos funciones, no es lo más estetico, pero funciona y no afecta al resto del código. Saludos

function mostrarOcultar(obj)
{

if(fvalida.chkoir.value = true)
{fvalida.oir.style.visibility = (obj.checked) ? 'visible' : 'hidden';}
}
function MostrarOcultar1(obj1)
{
if(fvalida.chkpep.value = true)
{fvalida.pep.style.visibility = (obj1.checked) ? 'visible' : 'hidden';}
}
  #3 (permalink)  
Antiguo 13/07/2011, 08:08
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: ocular o mostrar un input text mediante un checkbox

Pues si se puede con una función:

Código HTML:
Ver original
  1. function mostrarOcultar(obj)
  2. {
  3.     if(obj.value == "1") {
  4.         fvalida.oir.style.visibility = (obj.checked) ? 'visible' : 'hidden';
  5.     }
  6.     if(obj.value == "2") {
  7.         fvalida.pep.style.visibility = (obj.checked) ? 'visible' : 'hidden';
  8.     }
  9. }
  10. </head>
  11. <form name="fvalida">
  12. <input name="chkoir" type="checkbox" title="OIR" value="1" onClick=" return mostrarOcultar(this)">&nbsp;<input style="visibility:hidden;" name="oir" type="text" title="OIR" size="15" maxlength="15">
  13. <input name="chkpep" type="checkbox" title="PEP" value="2" onClick=" return mostrarOcultar(this)">&nbsp;<input style="visibility:hidden;" name="pep" title="PEP" type="text" size="15" maxlength="15">
  14. </form>
  15. </body>
  16. </html>

Pero no se porque colocas
Cita:
if(fvalida.chkpep.value = true)
si esta expresión siempre es verdadera por lo cual es innecesaria, ya siempre siempre se ingresará al if, por ello q en un principio siempre se ingresaba a los dos if y se activaba la instrucción (obj.checked) ? 'visible' : 'hidden'; a los 2 input text
  #4 (permalink)  
Antiguo 13/07/2011, 08:53
 
Fecha de Ingreso: julio-2011
Ubicación: En todos lados
Mensajes: 13
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: ocular o mostrar un input text mediante un checkbox

Gracias omasMusic, tienes la razón, queda de mucho mejor manera como tú lo pusiste, gracias.

Saludos
  #5 (permalink)  
Antiguo 13/07/2011, 13:11
 
Fecha de Ingreso: mayo-2011
Ubicación: España
Mensajes: 7
Antigüedad: 13 años
Puntos: 1
Respuesta: ocular o mostrar un input text mediante un checkbox

O se podría hacer desactivando el botón. Si quieres saber como respondeme en el tema y te lo digo ;)
  #6 (permalink)  
Antiguo 13/07/2011, 13:18
 
Fecha de Ingreso: julio-2011
Ubicación: En todos lados
Mensajes: 13
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: ocular o mostrar un input text mediante un checkbox

Cita:
Iniciado por dahe98 Ver Mensaje
O se podría hacer desactivando el botón. Si quieres saber como respondeme en el tema y te lo digo ;)
jaja, si mira de hecho desde un principio queria hacer eso, lo habia logrado usando radios, pero como me lo desactiva (no me autorellena el campo que no es seleccionado) y eso lo necesito puesto que en otra página muestro una tabla general con todo, y como hay espacios en blanco se ven feos, pero pués bienvenida la ayuda! Saludos
  #7 (permalink)  
Antiguo 13/10/2011, 19:22
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 20 años, 9 meses
Puntos: 1
Respuesta: ocular o mostrar un input text mediante un checkbox

Como lo puedo utilizar en una tabla, Ej: tengo varios campos N donde ingreso datos pero en el check le cambia el estatus a Si y debe aparecer a campo text date para ingresar la fecha.
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
  #8 (permalink)  
Antiguo 30/12/2011, 10:30
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: ocular o mostrar un input text mediante un checkbox

Muchas gracias por la funcion habia creado uan yo pero ocupaba mucho mas lineas y era con jquery, entinedo perfectamente lo que hace la funcion solo tengo una duda para que sirve el simbolo ? me imagino que hace una especie de toogle pero no se bien lo que signifique si me pudiera explicar se los agradeceria mucho

Etiquetas: checkbox, input, mediante, txt
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 01:16.