Un script en Javascript muy fácil de utilizar y con un aspecto formidable, que nos servirá para disponer de un calendario para seleccionar un fecha.
Este script de calendario ya no se actualiza. La página donde se ofrecía no se encuentra disponible. En sourceforge se puede descargar todavía y en la descarga hay documentación por lo que teóricamente se podría rescatar, pero es un proyecto que no se actualiza hace más de 18 años (desde 2005). Por todo ello marcamos este artículo como prácticas obsoletas. Recomendamos para Javascript el calendario de jquery UI o buscar otras alternativas más modernas.
Cuando realizamos una interfaz de usuario, es típico tener campos donde el visitante deba introducir una fecha. Éstas tienen formatos bastante estrictos y son complicadas de escribir, por lo que es muy cómodo para el usuario contar con la posibilidad de utilizar un calendario para seleccionar la fecha.
En DesarrolloWeb.com hemos publicado un manual donde se explica cómo construir un calendario con PHP, un conocido lenguaje de programación de webs del lado del servidor. Ahora bien, no siempre el visitante va a tener la capacidad de entender la programación en PHP, o acceso a un servidor que permita la publicación de contenidos programados con PHP.
Por ello, será muy interesante conocer otras maneras de implementar un calendario en una página web. En este caso vamos a presentar DHTML Calendar, un calendario realizado en Javascript, compatible para todos los navegadores. Este script para incorporar un calendario es gratuito, por lo que podemos utilizarlo sin ningún tipo de límite.
Cómo es DHTML Calendar
Es un sistema muy potente y fácilmente configurable, con una interesante interfaz, totalmente dinámica. Se puede incluir de diversas maneras dentro de una página, como un popup, o directamente en el cuerpo de la página, lo que lo hace útil en diversas situaciones.
El script para configurar el calendario variará de un modo de presentación a otro. En la descarga del calendario se ofrecen algunos ejemplos rápidos para mostrar el calendario. Ejemplos para los impacientes, que pueden venir muy bien para empezar rápidamente. Una de las maneras más típicas de presentar el calendario puede ser utilizando un campo de texto y un botón. Al pulsar el botón se muestra el calendario y, una vez seleccionada una fecha, se escribe en el campo de texto.
El código del ejemplo sería el siguiente, muy parecido a uno de los ejemplos para los impacientes proporcionados en el paquete de descarga.
<html>
<head>
<title>Calendario de pruebas</title>
<!-Hoja de estilos del calendario -->
<link rel="stylesheet" type="text/css" media="all" href="calendar-green.css" title="win2k-cold-1" />
<!-- librería principal del calendario -->
<script type="text/javascript" src="calendar.js"></script>
<!-- librería para cargar el lenguaje deseado -->
<script type="text/javascript" src="lang/calendar-es.js"></script>
<!-- librería que declara la función Calendar.setup, que ayuda a generar un calendario en unas pocas líneas de código -->
<script type="text/javascript" src="calendar-setup.js"></script>
</head>
<body>
<!-- formulario con el campo de texto y el botón para lanzar el calendario-->
<form action="#" method="get">
<input type="text" name="date" id="campo_fecha" />
<input type="button" id="lanzador" value="..." />
</form>
<!-- script que define y configura el calendario-->
<script type="text/javascript">
Calendar.setup({
inputField : "campo_fecha", // id del campo de texto
ifFormat : "%d/%m/%Y", // formato de la fecha que se escriba en el campo de texto
button : "lanzador" // el id del botón que lanzará el calendario
});
</script>
</body>
</html>
El código anterior está comentado para que se entienda más fácilmente. Tiene varias partes.
- En la cabecera se incluyen varios ficheros con las funciones y estilos del calendario. Estos ficheros se encuentran en los archivos de descarga del calendario. Existen varios estilos que se pueden utilizar para ajustar el aspecto del calendario al diseño de la página. También se debe incluir el lenguaje en el que presentar el calendario, en este caso español, que está también incluido en el paquete de descarga.
- Ya en el cuerpo de la página, se muestra el formulario. Es muy simple, pues sólo tiene un campo de texto y un botón para mostrar el calendario.
- En el script de javascript, también dentro del cuerpo de la página, se utiliza la función Calendar.setup, que sirve para cargar el calendario y configurarlo con los valores que deseemos. Todas las opciones de configuración tienen valores por defecto, aunque siempre vamos a tener que definir, como mínimo, los datos que ponemos en este ejemplo. El dato "inputField" sirve para indicar el identificador (atributo id) del campo input donde se tiene que escribir la fecha. El valor "ifFormat" sirve para ajustar el formato de la fecha que se desea escribir en el campo de texto. Por último, el valor "button" debe contener el identificador del botón que lanzará el calendario al pulsarlo.
Ha sido un ejemplo lo más simplificado posible.
En la documentación podremos encontrar más ejemplos del calendario y una explicación detallada de su utilización.
Más información en la página del producto: (la página ya no existe, lo sentimos)
DHTML Calentar es un proyecto alojado en SourceForge.net, con la siguiente página de proyecto: http://sourceforge.net/projects/jscalendar (A día de última actualización esta página todavía se puede usar para descargar el software).
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...