Foros del Web » Programando para Internet » Javascript »

Mostrar y Ocultar divs segun valor RadioButton

Estas en el tema de Mostrar y Ocultar divs segun valor RadioButton en el foro de Javascript en Foros del Web. Bueno, necesito mostrar/ocultar unos divs de acuerdo al valor seleccionado en un radio button. El codigo ya lo tengo pero por algo motivo que no ...
  #1 (permalink)  
Antiguo 10/02/2011, 22:56
Avatar de mandrake88  
Fecha de Ingreso: septiembre-2009
Mensajes: 328
Antigüedad: 15 años, 2 meses
Puntos: 13
Mostrar y Ocultar divs segun valor RadioButton

Bueno, necesito mostrar/ocultar unos divs de acuerdo al valor seleccionado en un radio button. El codigo ya lo tengo pero por algo motivo que no me doy cuenta, no esta funcionando.

El JS (embido en el html)
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         function toggle(elemento) {
  3.           if(elemento.value=="a") {
  4.               document.getElementById("uno").style.display = "none";
  5.               document.getElementById("dos").style.display = "none";
  6.            }else{
  7.                if(elemento.value=="b"){
  8.                    document.getElementById("uno").style.display = "block";
  9.                    document.getElementById("dos").style.display = "none";
  10.                }else{
  11.                    if(elemento.value=="c"){
  12.                         document.getElementById("uno").style.display = "none";
  13.                         document.getElementById("dos").style.display = "block";
  14.                     }  
  15.                 }
  16.             }
  17. </script>

el Codigo del form:
Código HTML:
Ver original
  1. <fieldset class="fields2">
  2.     <dl>
  3.         <dt><label>Cual opcion:</label></dt>
  4.         <dd>
  5.             <input type="radio" name="tipo_attach" onclick="toggle(this)" value="a"> Opcion a<br>
  6.             <input type="radio" name="tipo_attach" onclick="toggle(this)" value="b" > Opcion b<br>
  7.             <input type="radio" name="tipo_attach" onclick="toggle(this)" value="c"> Opcion c
  8.         </dd>
  9.     </dl>
  10.  
  11. <div id="uno" style="display:none">
  12. <p>Hola, soy el div Uno</p>
  13. </div>
  14.  
  15. <div id="dos" style="display:none">
  16. <p>Hola, soy el div dos</p>
  17. </div>

La consola del navegador, cuando hago click en algun radio button, me devuelve el siguiente mensaje:

Cita:
Uncaught ReferenceError: toggle is not defined

Última edición por mandrake88; 10/02/2011 a las 23:16
  #2 (permalink)  
Antiguo 10/02/2011, 23:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: Mostrar y Ocultar divs segun valor RadioButton

Te falta cerrar una llave en la función "}".
  #3 (permalink)  
Antiguo 10/02/2011, 23:29
Avatar de mandrake88  
Fecha de Ingreso: septiembre-2009
Mensajes: 328
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar y Ocultar divs segun valor RadioButton

Jajaja!

2:30 am + programar = error tonto = post ridiculo en forosdelweb!

Gracias walter!
  #4 (permalink)  
Antiguo 24/11/2013, 04:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Mostrar y Ocultar divs segun valor RadioButton

Gracias, por este script, es lo que estaba buscando,
no entiendo mucho de javascript.
Lo tengo funcionando, y esta perfecto,
pero me gustaría que una de las dos opciones de los valores del radiobutton se mostrase por defecto al entrar en la pagina.
Y para conseguirlo he añadido un checked y he probado con añadir un onload para la misma función, pero no funciona:
<input name="a" type="radio" onclick="toggle(this)" onload="toggle(this)" value="1" checked>
  #5 (permalink)  
Antiguo 24/11/2013, 04:45
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Mostrar y Ocultar divs segun valor RadioButton

Usando mi amigo google, encontré que onload solo funciona en el body,
y despues probando, lo conseguí añadiendo esto al body:
<body onload="onload();">

y despues añadiendo esta función:
function onload() {
document.getElementById("uno").style.display = "block";
document.getElementById("uno2").style.display = "block";
document.getElementById("uno3").style.display = "block";
document.getElementById("uno4").style.display = "block";
document.getElementById("dos").style.display = "none";
document.getElementById("dos2").style.display = "none";
document.getElementById("dos3").style.display = "none";
}

Hay alguna manera mejor para no tener que poner <body onload="onload();"> en todos los documentos donde esta el formulario (la web entera),
directamente en el formulario?

Etiquetas: radiobutton
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 05:46.