May 26 2009

JavaScript: Utilizando innerHTML o como jugar con el contenido.

Ya os comente que estamos currando una page pal Nafarroa Oinez 09 que gestione ciertas historias. Como no podía ser de otro modo esta llenito de formularios. Como semos programadores y no diseñadores, en esto de dejarlos bonitos y chulos, como que no andamos muy finos, pero bueno, algo ya hacemos. Pues bien, de cara a ordenar un poco las textbox diferentes del formulario he utilizado lo siguiente:

1
2
3
4
5
<fieldset>
  <legend id="MiTexto">Codigo Familia:</legend>
  <label>Familia:</label>
  <!-- Aquí irian las cajas de texto -->
</fieldset>

Pues bien, por motivos que no vienen a cuento, tengo que cambiar el contenido del texto que esta entre las etiquetas legend. Y para ello esta la propiedad innerHTML. La biblia de JavaScript dice lo siguiente: “Establece o retrae el contenido HTML, (todo, no solamente textos) que hay entre las etiquetas de inicio y final del elemento“.
La función de JavaScript sería el siguiente:

1
2
3
4
5
6
7
function PersonaGrupo(Cual)
{
  if(Cual=="Grupo")
  {document.getElementById("MiTexto").innerHTML = "Codigo Grupo";}
  else
  {document.getElementById("MiTexto").innerHTML = "Codigo Familia";}
}

Hay controversia sobre el uso o no de innerHTML. Mi opinión, cada cosa en su justa medida.

May 06 2009

Javascript: Mostrar y ocultar elementos

Estamos haciendo una page pal Nafarroa Oinez para controlar la distribución de los curros en tecnología WAMP. Pues bien, a la izquierda tenemos una sidebar para acceder a los diferentes formularios, los cuales estan agrupados por módulos. Como son un ciento y la madre, hemos decidido que esten ocultos y sólo aparezcan cuando el usuario pinche en el nombre del módulo, para lo cual hemos creado una función en javascript para controlar esto.
Primero en HTML hemos puesto lo siguiente:

1
2
3
4
5
6
7
8
<h4 onclick="MostrarOcultar('OinezEguna');">Oinez Eguna</h4>
<ul id="OinezEguna" style="display:none;">
<li>Guneak
 <ul>
	<li><a href="" title="Berria">Berria</a></li>
	<li><a href="" title="Aldatu/Ezabatu">Aldatu/Ezabatu</a></li>
 </ul>
</li>

Y esta es la función de javascript a la que llama el método onclick:

1
2
3
4
5
6
7
function MostrarOcultar(Cual)
{
 if(document.getElementById(Cual).style.display!="none")
 {document.getElementById(Cual).style.display="none";}
 else
 {document.getElementById(Cual).style.display="block";}
}