Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/05/2012, 16:34
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: Ocultar un textarea

Hola Briss.

Soy medio conspiranóico; y no entiendo por qué no te ponen un ejemplo de algo tan pavo.
Debe ser porque ya lo repetimos mil veces por todo el foro, y no porque tengan algo en tu contra.

La aclaración que te hace emprear es muy acertada. Hay mejores formas de presentar esto que buscas. Pero si estás encaprichado en que sea así, me puse a ver dónde estaba la dificultad. Y francamente no la encontré.

Te dejo una manera de hacerlo, aunque no me di cuenta que pedías un radio, y le puse un check. Ya me parece demasiado antojo ponerle dos controles a algo que se puede hacer sólo con uno.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title></title>
<script type="text/javascript">

function displeiPorQue(T,I) {
var todosTXTACHKB = 4; //CANTIDAD DE textareaS Y checkboxSES
//alert(todosTXTACHKB)

 if (T.checked){
//alert("check "+T)

  for (x=0; x<todosTXTACHKB; x++) {
  var esteTXTA = document.FRM.getElementsByTagName("textarea")[x];
  var esteCHKB = document.FRM.getElementsByTagName("input")[x];
//alert(esteTXTA.id+" "+esteCHKB.checked)
  
   if (esteTXTA.id == I){ 
// alert(esteTXTA.id); 
   esteTXTA.className = "muestra"; 

// alert(esteTXTA.className); 
   }
   else { 
// alert(esteTXTA.id); 
   esteTXTA.className = "oculta"; 
// alert(esteTXTA.className);
   esteCHKB.checked = false; 
   }
  }
 }

 else {
 document.getElementById(I).className = "oculta";
 }
}
</script>
<style type="text/css">
.oculta {display: none;}
.muestra {display: inline;}
</style>
</head>
<body>

<form name=FRM>
<input type=checkbox onclick=displeiPorQue(this,"alfa")> ¿Por qué?.<br>

<textarea class=oculta id=alfa> Alfa.</textarea><br>

<input type=checkbox onclick=displeiPorQue(this,"bravo")> ¿Por qué?.<br>

<textarea class=oculta id=bravo> Bravo.</textarea><br>

<input type=checkbox onclick=displeiPorQue(this,"charly")> ¿Por qué?.<br>

<textarea class=oculta id=charly> Charly.</textarea><br>

<input type=checkbox onclick=displeiPorQue(this,"delta")> ¿Por qué?.<br>

<textarea class=oculta id=delta> Delta.</textarea><br>
</form>

<h3>Algunos elementos de formulario que no ve el escript.</h3>

¿Qué dice el <code>textarea</code> con <code>id</code> <input id=foxtrot>? 
<input type=checkbox id=golf onclick="document.getElementById('eco').value = 
document.getElementById(document.getElementById('foxtrot').value).value" 
onblur="this.checked = false"><br>

<textarea id=eco></textarea>

</body>
</html>
Un detalle con los input type=hidden (y con los otros tipos también) : no estoy seguro de que guarden los saltos de línea que tiene un textarea. Recuerdo que alguna vez un navegador (ya no sé cuál) no sólo no me los guardaba como caracteres, sino que bajo alguna circunstancia no me aceptaba más de la primer línea. Pero fue hace mucho, puede que ya lo hayan arreglado.