Y llegamos por fin al Formulario de Contacto… una parte esencial en muchas webs. De hecho todos los sitios deben ofrecer algún tipo de forma de contacto, ya sea un mail, un formulario o incluso un ¿teléfono? No, eso ya pasó de moda.
¿Se pusieron a pensar en los beneficios que tiene un formulario de contacto? Para empezar, puedes saber qué mensajes fueron enviados desde tu sitio web, puedes guiar a los usuarios para que completen los datos que tú deseas. El formulario de contacto es una parte esencial de un sitio Flash. Junto a Adobe te enseño a construir un formulario de contacto sencillo, profesional y a prueba de errores.
Antes de empezar a hacer este tutorial me tomé el tiempo de leer el tutorial oficial de la página de Adobe. El tutorial es casi inexistente, sólo un zip con los archivos y arreglate… En base a mis conocimientos y esos archivos voy a intentar que entiendas realmente cómo se hace un formulario de contacto.
Armando el formulario (la parte divertida)
Un formulario tiene tres instancias:
- Escritura: donde se escribe el mensaje y hacemos clic en Enviar.
- Envío: donde el sistema muestra una barra de estado indicando que el mensaje se está enviando.
- Agradecimiento: donde le agradecemos a la persona por enviarnos un mensaje.
Vamos a crear cada una de estas instancias en un frame diferente, dentro de un mismo SWF.
ESCRITURA
Hagamos el primero (la escritura) incluyendo un campo para el e-mail, uno para el asunto y otro para el mensaje:
- Crea un nuevo archivo con las dimensiones que vaya a tener nuestro formulario.
- Nombra el archivo como formulario.fla
- En una o varias capas genera el esquema del formulario, con el fondo, colores, bordes, etc.
- En una capa nueva superior a la que llamaremos “formulario” escribe los títulos sobre cada campo: “e-mail”, “asunto”, “mensaje”.
- Dentro de esa misma capa crea tres campos de texto de entrada (Input text) para cada campo.
En el campo de mensaje puedes dar un máximo de caracteres si quieres limitar el largo del mensaje.
Además deberías agregar un scroll bar al lado del campo del mensaje. Adobe Flash trae scroll bars en sus Componentes. - En esa misma capa agrega el botón Enviar.
También en la capa “Formulario” crea una nueva película con un mensaje de error y un texto que diga algo como “POR FAVOR COMPLETA TODOS LOS CAMPOS”. Proponemos una duración aproximada de 15 frames.
a) El primer frame déjalo vacío, con la acción stop().
b) En el segundo frame crea el mensaje de error, justo al lado del botón Enviar.
c) Crea un nuevo fotograma clave en el frame 5, también con la acción stop().
d) Crea un nuevo fotograma clave en el frame 15 donde el mensaje se vea invisible.
e) Genera interpolación de movimiento y listo… ¡Ya tenemos el mensaje de error!- El código lo dejamos para el final…

ENVÍO
En el segundo frame vamos a hacer la instancia donde se muestra el envío del mensaje. Sólo deberás agregar:
- Un texto que indique que el mensaje se está enviando.
- Una animación se mueva para ilustrar la acción.
AGRADECIMIENTO
Sólo mostrarás un mensaje que indique que el mensaje ya ha sido enviado.
Código rapidito en Flash
Tenemos todo listo, sólo falta agregar el código para que las acciones se disparen y funcione el envío del mensaje. Primero vamos a ponernos de lleno con el código dentro del archivo FLA.
Primero démosle nombres a nuestros huérfanos símbolos:
Campo de texto para ingreso de email: email_box- Campo de texto para asunto:
subject_box - Campo de texto para mensaje:
message_box - Botón Enviar:
send_btn - Película con mensaje de error:
error_clip
Finalmente, crea una nueva capa (la nombramos “acciones”). Lo único que va a tener esta capa son acciones en el primer fotograma.
En el campo donde se pide el nombre de la Variable, destilda la opción Expression y escribe:
email_box.onSetFocus
En el campo donde se pide el nombre del Valor (Value), tilda la opción Expression y escribe:
subject_box.onSetFocus=message_box.onSetFocus=function
Ahora el código:
stop();send_btn.onRelease = function() {my_vars = new LoadVars(); my_vars.sender = email_box.text;
my_vars.subject = subject_box.text; my_vars.message = message_box.text;
if (my_vars.sender != "" and my_vars.subject != "" and my_vars.message != "") { my_vars.sendAndLoad("mailer.php", my_vars, "POST");
gotoAndStop(2); } else {
error_clip.gotoAndPlay(2); }
my_vars.onLoad = function() { gotoAndStop(3);
};};
email_box.onSetFocus = subject_box.onSetFocus=message_box.onSetFocus=function () { if (error_clip._currentframe != 1) {
error_clip.gotoAndPlay(6); }
};
stop();send_btn.onRelease = function() {my_vars = new LoadVars(); my_vars.sender = email_box.text;
my_vars.subject = subject_box.text; my_vars.message = message_box.text;
if (my_vars.sender != "" and my_vars.subject != "" and my_vars.message != "") { my_vars.sendAndLoad("mailer.php", my_vars, "POST");
gotoAndStop(2); } else {
error_clip.gotoAndPlay(2); }
my_vars.onLoad = function() { gotoAndStop(3);
};};
email_box.onSetFocus = subject_box.onSetFocus=message_box.onSetFocus=function () { if (error_clip._currentframe != 1) {
error_clip.gotoAndPlay(6); }
};Código en PHP (cuesta más)
Ahora la idea es relacionar es hacer que el archivo SWF realmente envíe el formulario. Para eso vamos a usar PHP…
¿Creían que los iba a hacer sufrir con PHP? A continuación, todos los archivos para que descargues, incluyendo el .PHP. Abre el archivo que está comentado así puedes entender qué hace cada parte del código. Todos los archivo se alojan en el mismo lugar.
Haz clic para descargar el ZIP >>
El ZIP (43 KB) contiene los archivos formulario.fla, formulario.swf, mailer.php
Todos los archivos son adaptaciones de los archivos originales que provee Flash App Servers.
Antes que te vayas, un adelanto aproximado de cómo quedaría tu formulario de contacto.
En los archivos puedes realizar varias modificaciones, para empezar todo lo que tiene que ver con tamaños, colores, tipografías y textos, agregar una foto de fondo, el logo de tu empresa. Puedes incluso cambiar el mensaje de error, la película que muestra el progreso del envío, establecer un número máximo de caracteres…
Sin embargo, el nombre de los componentes y símbolos está relacionado con el código y el envío del formulario por lo que no es recomendable hacer modificaciones ahí.
¡Nos vemos la clase que viene que es… LA ÚLTIMA CLASE!
| << CLASE ANTERIOR |








Lunes, 23 de Junio de 2008 a las 22.02
sus tutoriales y talleres son increibles
Domingo, 29 de Junio de 2008 a las 02.29
Excelente curso. Gracias por compartirlo
Miércoles, 16 de Julio de 2008 a las 13.08
Excelente tutoría solo que tengo un problema, como el tutorial lo dice hice los cambios pertinentes pero no me funciona no me llega ningún mail del formulario a un que no me marca ningún error
Sábado, 2 de Agosto de 2008 a las 00.47
aqui tengo un problema pq no me llega ningun formulario y tampoco me abre el archivo en fla. Gracias HELP ME !!!!
Jueves, 14 de Agosto de 2008 a las 12.12
solo me llega el mensaje y la ip, cual es el erro?
Jueves, 21 de Agosto de 2008 a las 07.43
como se enlaza el componente scroll bar al campo input??
Viernes, 22 de Agosto de 2008 a las 17.46
Hola garchun! Ya tienes tu campo input y la scroll bar (la tomas de los Componentes, en la parte de Interface del Usuario), lo único que debes hacer es posicionar la barra “sobre” el campo input.
Vas a notar que se acomoda sola… Si pones la barra un poco hacia la derecha, se acomodará justo como lo ves en mi ejemplo. Si lo haces más a la izquierda, quedará posicionado perfectamente a la izquierda del input.
Un dato muy importante: la scroll bar y el campo input deben estar sí o sí en la misma capa.
Espero haberte ayudado. Sino, vuelve a consultarme.
Un saludo
Domingo, 12 de Octubre de 2008 a las 00.00
gracias
Viernes, 14 de Noviembre de 2008 a las 07.10
Hola.
Ma he descargado los archivos y, al abrir el fla da error…
Gracias
Viernes, 14 de Noviembre de 2008 a las 13.46
¡Hola, debes tener una versión actualizada de Flash para poder trabajar con ellos! ¡Saludos!
Miércoles, 19 de Noviembre de 2008 a las 02.39
Hola saludos de Tabasco, México. el formulario está muy bueno y funciona hasta en hotmail es increible pero tiene un detalle y quiero que me ayuden please, ni en mi bandeja de correo entrante de mi pagina web y en hotmail aparese el e-mail, nombre solo la ip y tambien este comentario = De:
Nobody (nobody@colo32.hechoweb.com) pienso que es muy necesario que aparesca el e-mail del que lo enbia para poder responder ( No sepuede Responder ) porfa si alguien sabe porfavor ayudenme te meses tratando de encontrar un formulario que asepte hotmail y hasta ahora lo é encontrad y no quiero desaprobechar esta hermosa oportunidad saludos dios les bendiga
Miércoles, 19 de Noviembre de 2008 a las 12.00
¡Hola, Ricardo! Lo que un usuario escriba en el campo “e-mail” es lo que llegará como información a tu casilla, pero esto no implica que pongan un e-mail válido o real al enviarte un mensaje. Claramente “nobody” (que significa “nadie” en inglés) es un mail falso ingresado por el remitente.
¡Saludos!