Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/04/2012, 11:13
Avatar de Dafonz
Dafonz
 
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 14 años, 6 meses
Puntos: 36
Respuesta: Ocultar y hacer visible un campo

es que al ser id necesitan ser únicas.. lo que puedes hacer es ponerle class='' por ejemplo:
Código HTML:
Ver original
  1.  .invisible { visibility:hidden; }
  2. <td>
  3. <input size="10" maxlength="20" class='invisible' type="text" value="<?php echo $canales['IP']; ?>" >
  4. </td>

(lo de style lo puse extra el punto es ponerle class='algo')

entonces cuando dispares el evento que oculta o pone visible todos los campos llamas esta funcion en vez de la que tienes pero mandandole tmb el nombre de la clase si la quieres usar para depsues: onClick="pruebaFuncion(this,'invisible')"

Código Javascript:
Ver original
  1. function pruebaFuncion(obj,cl) {
  2.     var myclass = new RegExp('\\b'+cl+'\\b');
  3.     var elem = document.getElementsByTagName('*');
  4.     for (var i = 0; i < elem.length; i++) {
  5.         var classes = elem[i].className;
  6.         if (myclass.test(classes)) { elem[i].style.visibility =  (obj.checked) ? 'visible' : 'hidden'; }
  7.     }
  8. }

¿Que es lo que hace?
Pues sencillo.. a la hora que llamas la funcion le mandas el objeto de checkbox (como antes) y a parte el nombre de la clase que tienen tus input que quieres ocultar o mostrar ('invisible').. entonces primero selecciona los elementos de la pagina y los filtra por esa clase que enviaste después les pone la visibilidad segun sea el checkbox.. puede sonar reburujado y pues eso de sacar los elementos es otro ciclo extra pero si tienes mas input del mismo tipo es dificil seleccionar solo esos, es por eso que puse la clase como indicador.

Última edición por Dafonz; 24/04/2012 a las 11:30