28/05/2009, 00:35
|
| | | Fecha de Ingreso: febrero-2008 Ubicación: Senolaf
Mensajes: 268
Antigüedad: 16 años, 8 meses Puntos: 8 | |
Respuesta: Duda con campos ocultos al seleccionar radio buttons Bueno a ver si te ayudo...
Si quieres que se pueda mostrar más de un texto (no tiene mucho sentido pero bueno) el HTML te quedaría así
<label><input type="radio" name="newsletter" value="1" id="newsletter-1" onclick="javascript:toggle('email-field','1')" /> Yes</label>
<label><input type="radio" name="newsletter" value="0" id="newsletter-2" onclick="javascript:toggle('name-field','2')"/> No</label>
<br />
<div id="email-field" style="display:none;">
<input type="text" id="email" />
<strong>Add your Email</strong>
</div>
<div id="name-field" style="display:none;">
<input type="text" id="name" />
<strong>Add your Name</strong>
</div>
</body>
</html>
y el java así
function toggle(capa, status)
{
element = document.getElementById(capa);
element.style.display='block';
}
Esto no tiene mucho sentido ya que usas radio buttons (que sirven para que al seleccionar uno se anule el otro), por lo que mejor deberías usar algo así
<form action="" name="formulario" id="formulario">
<label><input type="radio" name="newsletter" value="1" onclick="javascript:toggle(1)" /> Yes</label>
<label><input type="radio" name="newsletter" value="0" onclick="javascript:toggle(2)"/> No</label>
<br />
<div id="capa1" style="display:none;">
<input type="text" id="email" />
<strong>Add your Email</strong>
</div>
<div id="capa2" style="display:none;">
<input type="text" id="name" />
<strong>Add your Name</strong>
</div>
</form>
Y el java sería algo así donde oculta() oculta todas la capas y toogle() muestra solo la que quieras
function oculta()
{
for (i=1;i<=document.formulario.newsletter.length;i++)
{
nombrecapa="capa"+i;
element = document.getElementById(nombrecapa);
element.style.display='none';
}
}
function toggle(status)
{
oculta();
nombrecapa="capa"+status;
element = document.getElementById(nombrecapa);
element.style.display='block';
} |