Foros del Web » Programando para Internet » Javascript »

Ejecutar función al seleccionar un checkbox

Estas en el tema de Ejecutar función al seleccionar un checkbox en el foro de Javascript en Foros del Web. Tengo en un formulario unos cuantos checkbox, el último indica otro valor y al pulsar sobre ese checkbox se muestra un input para escribir el ...
  #1 (permalink)  
Antiguo 20/08/2009, 10:11
 
Fecha de Ingreso: julio-2009
Ubicación: En PHPlandia, AJAXia y JavaScriptín
Mensajes: 34
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Ejecutar función al seleccionar un checkbox

Tengo en un formulario unos cuantos checkbox, el último indica otro valor y al pulsar sobre ese checkbox se muestra un input para escribir el valor manualmente.

Código PHP:
<input type="checkbox" value="A" name="valores[]" />Valor A
<input type="checkbox" value="B" name="valores[]" />Valor B
<input type="checkbox" value="C" name="valores[]" />Valor C
<input type="checkbox" value="otro" name="valores[]" 
 
onclick="mostrar_oculto(this.form)" /> Otro
  
<span id="oculto" style="display:none;">, indicar 
    
<input type="text" name="otro_tipo" /> </span
La función es la siguiente:
Código:
function mostrar_oculto(form)
{
   objeto = document.getElementById('span_otro');
    if (form.valores[3].checked == true)
    { objeto.style.display=""; }
    else
    { objeto.style.display="none";}
}
El problema es que no se muestra el campo oculto cuando selecciono el checkbox de 'Otro', en cambio si modifico valores[] por valores si va... pero necesito poder seleccionar varios checkbox...

¿Dónde me estoy equivocando?
  #2 (permalink)  
Antiguo 20/08/2009, 10:15
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 18 años, 1 mes
Puntos: 22
Respuesta: Ejecutar función al seleccionar un checkbox

con javascript colocas dentro del campo. Onchage o un Onslelected javascript(), esa es la idea pero no es el codigo exacto jijiji
  #3 (permalink)  
Antiguo 20/08/2009, 10:34
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 17 años, 3 meses
Puntos: 23
Respuesta: Ejecutar función al seleccionar un checkbox

tenias la idea correcta, solo unos detalles con la llamada a la funcion
en lugar de enviar el objeto "form" deberias enviar solamente el ID del objeto que quieres alterar... ademas que le ponias el nombre equivocado de tu ID

Aqui te pongo una funcion que hice y es muy clara

Código HTML:
<script>
function cambiarDisplay(id) 
{
	if (!document.getElementById) 
		return false;
	fila = document.getElementById(id);
	if (fila.style.display != "none") 
		fila.style.display = "none"; //ocultar
	else 
		fila.style.display = ""; //mostrar
}
</script>
<input type="checkbox" value="A" name="valores[]" />Valor A 
<input type="checkbox" value="B" name="valores[]" />Valor B 
<input type="checkbox" value="C" name="valores[]" />Valor C 
<input type="checkbox" value="otro" name="valores[]"  onclick="cambiarDisplay('oculto')" /> Otro 
<span id="oculto" style="display:none;">, indicar  <input type="text" name="otro_tipo" /> </span> 
Saludos
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #4 (permalink)  
Antiguo 20/08/2009, 10:34
 
Fecha de Ingreso: julio-2009
Ubicación: En PHPlandia, AJAXia y JavaScriptín
Mensajes: 34
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Ejecutar función al seleccionar un checkbox

kalvinman: No te entiendo muy bien... es que me tiene perdidísima el que funcione todo bien si el nombre de los checkbox no es un array O_o

Avatar810: Okkk, ahora lo intento a ver
  #5 (permalink)  
Antiguo 20/08/2009, 10:40
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 17 años, 3 meses
Puntos: 23
Respuesta: Ejecutar función al seleccionar un checkbox

Falla la funcion ademas de por que el ID esta equivocado por la forma en que tratas de accesar al vector; de momento no tengo a la mano la forma de accesar a vectores dentro de un objeto pasado a una funcion pero la forma mas facil de hacerlo es con la funcion que te pase

intentalo y nos cuentas
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #6 (permalink)  
Antiguo 20/08/2009, 10:53
 
Fecha de Ingreso: julio-2009
Ubicación: En PHPlandia, AJAXia y JavaScriptín
Mensajes: 34
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Ejecutar función al seleccionar un checkbox

Cierto!!! Funciona genial!!!

Creo que me estaba complicando la cabeza demasiado, en verdad es muy facilita la función.

Gracias!!!
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 18:33.