Diseño Web

Ξ 74 comentarios

Cómo añadir un calendario a tus formularios

por Xabadu
Cómo añadir un calendario a tus formularios

calendario2

Muchas veces cuando presentamos formularios en nuestros sitios o sistemas Web, necesitamos que los usuarios ingresen una fecha para utilizar como parámetro. El principal problema que se presenta es asegurarnos que esta fecha se ingrese en el formato ideal.

Una de las mejores respuestas para esta inquietud es integrar un calendario al formulario, el cual además de darnos el formato requerido, presenta una funcionalidad atractiva visualmente para quienes hacen uso del sitio.

Hoy en CLH, les enseñaremos mediante un sencillo tutorial a realizar esta tarea.

El detalle, como siempre, después del salto.

Cómo añadir un calendario a tus formularios

Como siempre, lo primero:

Implementos necesarios:

  1. Una página Web con un formulario.
  2. Un editor Web (en CLH recomendamos y utilizamos Adobe Dreamweaver. Pueden descargar la versión CS4 desde este enlace).
  3. Popcalendar, que es un calendario emergente hecho en Javascript. (pueden descargarlo desde el sitio de su creador).

Con todo lo necesario, vamos, manos a la obra:

Procedimiento:

1.- Lo primero que debemos hacer es confeccionar un formulario al cual le añadiremos un campo de texto para ingresar la fecha. Si tienen dudas sobre como crear un formulario, pueden revisar este tutorial donde hemos cubierto el proceso por completo.

2.- Una vez que tenemos nuestro formulario listo y hemos descargado la librería Popcalendar (indicada en la sección Implementos Necesarios), debemos descomprimirla en alguna parte de nuestro computador.

Al descomprimir, tendremos una serie de archivos. Debemos mover popcalendar.js y el directorio images a la carpeta donde tenemos alojado nuestro sitio Web con el formulario (ya sea local o en algún FTP de alojamiento Web). Es muy importante mantener la estructura de rutas. Si deseamos mover las imágenes, debemos editar las rutas de estas en el archivo .js.

3.- A continuación, debemos realizar la edición en el archivo de la página donde tenemos el formulario y añadiremos, entre las etiquetas head y /head lo siguiente:

<script language=’javascript’ src=’popcalendar.js’></script>

Con ese trozo de código lo que hemos hecho es incluir la librería correspondiente al calendario a la página con nuestro formulario. El atributo src corresponde a la ubicación del script, por lo que solo debemos mantenerlo así si es que la hemos guardado en el mismo directorio que nuestra página. De lo contrario, debemos modificar aquella ruta para que realice la llamada como corresponde.

4.- Luego que hemos realizado la inclusión del archivo, debemos hacer la modificación correspondiente en el campo de texto donde queremos que se ingrese la fecha.

Lo que haremos será añadir un atributo a este campo de texto llamado onClick, de esta forma cuando un usuario haga click sobre el campo de texto (intentando escribir por ejemplo) se desplegará el calendario en pantalla para que seleccionen la fecha y esta se escribirá automáticamente en el formato que definamos sobre el campo.

Así que revisamos el código de nuestro formulario y vamos a la etiqueta correspondiente al campo de texto de la fecha, por ejemplo, en este caso, tendríamos algo como:

<input name=”fecha” type=”text” size=”10″ id=”fecha”  />

A esa etiqueta debemos agregarle una pequeña modificación para que sepa que debe realizar la llamada al calendario, por lo que modificaremos el atributo id y añadiremos onClick tal como habíamos detallado antes (en negrita lo que añadiremos/cambiaremos):

<input name=”fecha” type=”text” size=”10″ id=”dateArrival” onClick=“popUpCalendar(this, form1.dateArrival, ‘dd/mm/yyyy’);”>

Pues bien, ¿qué hicimos aquí?

  • Cambiamos el id a dateArrival para que reconozca el id correspondiente al calendario para estilizar la etiqueta.
  • Añadimos el atributo onClick que le dice al formulario: “Cuando se haga click, ejecute esto” y ejecutará la función popUpCalendar de la librería, enviando como parámetro el nombre del formulario (form1 que viene por defecto, si lo han cambiado deben modificar aquí) y el formato de la fecha (en este caso dimos un formato día/mes/año, con 2 dígitos para el día, 2 dígitos para el mes y 4 dígitos para el año. Pueden modificarlo como lo necesiten).

Una vez que hemos hecho las ediciones, guardamos el archivo y probamos todo. Al hacer click en el campo, nos mostrará el calendario con las fechas correspondientes, parecido a este:

calendario

Simple, ¿no? Ahora podemos añadir una atractiva funcionalidad que sera muy útil tanto para nuestros usuarios como para nosotros al momento de manipular los datos.

Es común que al implementar el calendario no resulte la primera vez, les recomendamos fijarse en la etiqueta del formulario, que las comillas esten bien definidas, eso es un problema común.

Adicionalmente, si necesitamos implementar más de un calendario en la misma página podemos hacerlo de la misma forma, solo asegurándonos de cambiar el atributo id de la etiqueta para que no sea el mismo.

Con esto damos por terminado este tutorial, esperamos que sea de utilidad y agrado de Uds.

Y recuerden que como siempre, esto ha sido:

Cualquier duda o comentario que puedan tener, los invitamos a dejarnos unas líneas en el área habilitada a continuación.

Muchas gracias por leer y será hasta una próxima oportunidad.

Comparte este tutorial

El culpable de todo esto

Las tardes gloriosas de domingo y las grandes ovaciones a estadio lleno, no son algo extraño para Xabadu. Luego de ser descubierto a los 4 años en un partido de barrio por los ojeadores del gran Aviación F.C., sacudió el mercado nacional al ser traspasado en $500 pesos chilenos (1 USD) y 3 coca colas al renombrado Estrella Blanca de Lolol. Luego de una impresionante carrera por equipos como Lozapenco, Santa Cruz, Deportivo Lago Chungará y una incursión en la 3a división del futbol de Kazajstan, su record imbatible hasta la fecha de 1257 goles en 20 partidos lo llevo a ser elegido como uno de los arqueros más recordados en la historia pelotera nacional. Una lesión en el colmillo superior derecho lo llevó al retiro el año 2003, pero está de vuelta y sin duda que su jerarquía y experiencia internacional será un gran aporte.

En los barrios marginales se le conoce como: Xabadu

Comentarios en Facebook

74 Comentarios

  • ta buenisimo
     

  • Señores;
    Consulta el calendario lo integre a un formulario el cual esta hecho en php y no me muestra las imagenes,  respete el orden de los archivos y nada,  saben si existe algun problema con la extencion php.

  • @Valericio: En lo personal lo he utilizado con PHP y no he tenido problemas, aunque los formularios siempre los he desplegado con HTML. Te recomiendo revisar las comillas, muchas veces cuando se insertan atributos, se presentan problemas para que no los tome como cadenas de texto.

    Prueba con eso, y si el problema persiste avísanos para ayudarte más a fondo.

    Saludos

  • hola, está buenisimo, pero tengo un problema al hacer click me aparece al principio de la página y debajo del input como que podria hacer para que aparesca debajo, había pensado en un div oculto y mostrar el calendario en dicho div pero no se puedo hacerlo o donde le indico en el js que el calendario aparesca en el div oculto,
     
    gracias y hasta luego.

  • hola si es de mucha utilidad el calendario pero como prodria extenderle los años que aparezca 2010,2011 etc..

  • porque en internet explorer 7 se ve bien pero en el el mozilla firefox el calendario aparece en la parte superior izquierda de mi pantalla?

    les funciono bien a ustedes?
     

  • A mi me paso lo mismo no puedo hacer que en Mozilla se despliegue el calendario en la parte que quiero . . . .

  • hola pero si quiero que a lado del textbox se muestre una imagen del calendario y dando clic sobre la imagen que muestre la fecha en el text la cual pueda guardar en una base de datos que esta en mysql me gustaria que me ayudara a poder realizarlo y si pudiera contestar en mi correo gracias

  • @leo: Con Firefox tuvimos un problema similar, hemos investigado y al parecer se trata de un valor de un atributo que lo hace mostrar de forma distinta en los navegadores. Apenas tengamos algo más concreto actualizaremos este tutorial.
    @alma: Solo debes colocar una imagen al lado del campo de texto y a esta añadir el id y el atributo onClick, tal como fue indicado, de esa forma te añadirá el calendario ahí.
    Saludos!

  • hola pues es q lo que pasa es q cuando yo lo abro por el IE me abre peerfectamente pero cuando lo intento abrir por el mozilla no me abre el calendario me podrian decir q haglo o ke cambios no le he heho para poder modificar eso lo antes posible????

1 2 3 8

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Gente linda que nos quiere

Donde mas estamos

news-1701

sabung ayam online

yakinjp

yakinjp

rtp yakinjp

slot thailand

yakinjp

yakinjp

yakin jp

yakinjp id

maujp

maujp

maujp

maujp

slot mahjong

SGP Pools

slot mahjong

sabung ayam online

slot mahjong

SLOT THAILAND

psda 438000021

psda 438000022

psda 438000023

psda 438000024

psda 438000025

psda 438000026

psda 438000027

psda 438000028

psda 438000029

psda 438000030

psda 438000031

psda 438000032

psda 438000033

psda 438000034

psda 438000035

psda 438000036

psda 438000037

psda 438000038

psda 438000039

psda 438000040

psda 438000041

psda 438000042

psda 438000043

psda 438000044

psda 438000045

psda 438000046

psda 438000047

psda 438000048

psda 438000049

psda 438000050

psda 438000051

psda 438000052

psda 438000053

psda 438000054

psda 438000055

psda 438000056

psda 438000057

psda 438000058

psda 438000059

psda 438000060

psda 438000061

psda 438000062

psda 438000063

psda 438000064

psda 438000065

psda 438000066

psda 438000067

psda 438000068

psda 438000069

psda 438000070

psda 438000071

psda 438000072

psda 438000073

psda 438000074

psda 438000075

psda 438000076

psda 438000077

psda 438000078

psda 438000079

psda 438000080

cuaca 638000086

cuaca 638000087

cuaca 638000088

cuaca 638000089

cuaca 638000090

cuaca 638000091

cuaca 638000092

cuaca 638000093

cuaca 638000094

cuaca 638000095

cuaca 638000096

cuaca 638000097

cuaca 638000098

cuaca 638000099

cuaca 638000100

cuaca 638000101

cuaca 638000102

cuaca 638000103

cuaca 638000104

cuaca 638000105

article 710000111

article 710000112

article 710000113

article 710000114

article 710000115

article 710000116

article 710000117

article 710000118

article 710000119

article 710000120

article 710000121

article 710000122

article 710000123

article 710000124

article 710000125

article 710000126

article 710000127

article 710000128

article 710000129

article 710000130

article 710000131

article 710000132

article 710000133

article 710000134

article 710000135

article 710000136

article 710000137

article 710000138

article 710000139

article 710000140

article 710000141

article 710000142

article 710000143

article 710000144

article 710000145

article 710000146

article 710000147

article 710000148

article 710000149

article 710000150

article 710000151

article 710000152

article 710000153

article 710000154

article 710000155

article 710000156

article 710000157

article 710000158

article 710000159

article 710000160

article 999990051

article 999990052

article 999990053

article 999990054

article 999990055

article 999990056

article 999990057

article 999990058

article 999990059

article 999990060

article 999990061

article 999990062

article 999990063

article 999990064

article 999990065

article 999990066

article 999990067

article 999990068

article 999990069

article 999990070

article 999990071

article 999990072

article 999990073

article 999990074

article 999990075

cuaca 898100116

cuaca 898100117

cuaca 898100118

cuaca 898100119

cuaca 898100120

cuaca 898100121

cuaca 898100122

cuaca 898100123

cuaca 898100124

cuaca 898100125

cuaca 898100126

cuaca 898100127

cuaca 898100128

cuaca 898100129

cuaca 898100130

cuaca 898100131

cuaca 898100132

cuaca 898100133

cuaca 898100134

cuaca 898100135

cuaca 898100136

cuaca 898100137

cuaca 898100138

cuaca 898100139

cuaca 898100140

cuaca 898100141

cuaca 898100142

cuaca 898100143

cuaca 898100144

cuaca 898100145

news-1701