> Manuales > Calendario PHP

Dentro de las acciones encaminadas a seleccionar una fecha, debemos incluir una función Javascript que permita abrir un popup con el calendario.

El calendario, al pulsar uno de sus días, deberá escribir en el campo de texto origen la fecha seleccionada. Por tanto, para que el calendario sepa cuál es el campo de texto que debe actualizar, deberemos mandarle el nombre del formulario y del campo de texto donde colocar la fecha.

Referencia: Se encontrará información del calendario y la introducción necesaria para seguir este artículo en el manual Calendario en PHP.

Para que el calendario conozca esos datos (nombre del formulario y el campo de texto) debemos mandarlos como parámetro a través de la URL. El calendario tendrá que memorizarlos hasta que finalmente se haya seleccionado la fecha.

Así pues, la función que abre el calendario y le pasa los datos del formulario y campo que actualizar tendrá una forma similar a la que se puede ver a continuación. Por cierto, la función estará escrita en Javascript ya que es el lenguaje con el que podemos abrir una ventana secundaria con el calendario como respuesta a la pulsación del botón.

var ventanaCalendario=false

function muestraCalendario(raiz,formulario_destino,campo_destino,mes_destino,ano_destino){
    //funcion para abrir una ventana con un calendario.
    //Se deben indicar los datos del formulario y campos que se desean editar con el calendario, es decir, los campos donde va la fecha.
    if (typeof ventanaCalendario.document == "object") {
       ventanaCalendario.close()
    }
    ventanaCalendario = window.open("calendario/index.php?formulario=" + formulario_destino + "&nomcampo=" + campo_destino,"calendario", "width=300,height=300, left=100,top=100, scrollbars=no,menubars=no,statusbar=NO, status=NO, resizable=YES,location=NO")
}


Otro detalle menos relevante para este ejercicio pero importante para no liarse con el código Javascript es que la ventana del calendario puede o no estar abierta cuando se pulsa el botón. En nuestro caso, si se detecta que está abierta, se ordena cerrarse y luego se vuelve a abrir. Así nos aseguramos que la ventana se queda siempre abierta en el mes actual y siempre visible, al abrirse por encima de la ventana donde estaba el formulario.

En nuestro ejemplo vamos a colocar la función en un archivo a parte llamado javascripts.js, que incluiremos desde la cabecera del documento HTML que pretenda utilizar el calendario. La manera de incluir scripts Javascript en archivos externos la vimos en el primer manual de Javascript.

<script language="JavaScript" src="calendario/javascripts.js"></script>

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual