website stats » Cambiar la clase de un elemento con Javascript | Solo Código |

Cambiar la clase de un elemento con Javascript

Escrito por J.F. el Monday, 27 de August del 2007 a las 17:37

Un truquito muy sencillo con Javascript y que puede resultar muy útil consiste en cambiar la clase CSS de un elemento. Por ejemplo, podemos crear varias clases CSS distintas para un formulario, y al realizar las validaciones aplicar una clase u otra. Veamos un sencillo ejemplo que puede resultar útil. Vamos a realizar una validación en un campo de texto normal y corriente, y en caso de que ese campo de texto se deje vacío, vamos a cambiarle la clase por una que mostrará el fondo de la caja amarilla. De esa manera, si tuvieramos un formulario muy grande, sería muy fácil mostrarle al usuario los campos que debe corregir. Veamos en primer lugar las 2 clases CSS que vamos a usar, una por defecto(normal), y la otra(error) en caso de dejar vacío el campo:

CSS:
  1. <head>
  2. <style type="text/css">
  3. .normal
  4. {
  5.  font-size: 10pt;
  6.  color:#000000; 
  7.  background-color:#FFFFFF;
  8. }
  9. .error
  10. {
  11.  font-size: 10pt;
  12.  color:#000000; 
  13.  background-color: #FFFF66;
  14. }
  15. </style>

Ahora veremos el código Javascript encargado de realizar el cambio de tipo de clase para el campo de texto. Ésta función será llamada en el evento onClick del botón del formulario, como podrás apreciar en el código HTML más abajo.

JavaScript:
  1. <script>
  2. function cambiaClase()
  3. {
  4.  if(document.formulario.nombre.value=="")
  5.  {
  6.     document.formulario.nombre.className="error";
  7.  }
  8.  else
  9.  {
  10.     document.formulario.nombre.className="normal";
  11.  }
  12. }
  13. </script>
  14. </head>

Para terminar, veamos el código HTML, que es muy corto y bastante simple de entender con lo ya explicado:

HTML:
  1. <form name="formulario">
  2.     <input type="text" class="normal" name="nombre"/>
  3.     <input type="button" value="Comprobar" onClick="cambiaClase()";/>
  4. </form>
  5. </body>

Comentarios (3)

Categoria: CSS,HTML,Javascript

3 Comentarios

Entradas relacionadas


Comentario de JaG

Realizado el Tuesday, 13 de October del 2009 a las 21:10

Gracias bro me sirvio tu ejemplo lo modifique para que el cambio se hisiera a la hora de qe el txt tubiera el focus y a la hora qe lo saltara regresara a su estado. funsiona cuando lo haces para uno pero cuando qieres aplicar lo mismo a diferentes txt es lo tedioso.

Comentario de Jangel0

Realizado el Saturday, 20 de March del 2010 a las 19:56

Grande men.
me sirvio de mucho tu ejemplo, lo utilice en el cambio de color en div al presionar diferentes checkbox, saludos.

Comentario de sebastian

Realizado el Sunday, 20 de June del 2010 a las 8:14

Hola amgos yo quiero hacer lo mismo

pero cambiar un color de un div simpemente

pero no se como hacerlo

espero respuesta, gracias.

Escribir un comentario

Puedes usar las siguientes etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Solo Código

Solo Código es una colección de códigos de todo tipo que pueden resultar útiles para el diseño de páginas web. Está enfocado tanto para aquellos que son expertos, como para aquellos principiantes que quieren encontrar recursos útiles, o no saben implementar determinadas funciones en sus webs. No olvides que Solo Código es un blog de Informática Práctica, donde tenemos otras secciones interesantes como:
| Tutoriales | Trucos | Software | Links | Buscar |