asd

13

Sep

Formulario de contacto flash AS3, funciona para cuentas Gmail y Hotmail inclusive

Publicado por: LeoBaraldi

Hace ya un tiempo había preparado un formulario de contacto en AS2 y funciona muy bien pero tiene ciertas carencias como por ejemplo la verificación de email ya que se hace atreves de un prototipo y no es muy efectiva que digamos. Pero la más importante de todas es que no funcionaba para cuentas de email sin dominios, como por ejemplo Hotmail o Gmail.

En esta nueva versión de formulario de contacto está totalmente realizadas en ActionScript 3 y como novedad entre las tantas van a poder ver cómo utilizar expresiones regulares, en este caso particular se utilizo un patrón para verificar el correo electrónico sea válido.

Actionscript:
  1. //el php encargado de enviar los datos
  2. const FILE:String  = "formmail.php";
  3. //aca puden indicar el dominio de su sitio si quieren probarlo desde el player de flash
  4. var dominio:String = "";
  5. //como voy a recibir los datos que me devuelva el php> como variables
  6. var dataFormat:String = URLLoaderDataFormat.VARIABLES;
  7. //patron o expresion regular para verificar un email
  8. var patronEmail:RegExp = /(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*.[0-9a-zA-Z]{2,3})$/;
  9. //nuevo objeto para las variables
  10. var Variables:URLVariables = new URLVariables();
  11. //destinatario o casilla de destino, puede ser gmail, dominio propio y HOTMAIL!!!!
  12. Variables.recipient = "info@tudominio.com";
  13. //Titulo del mensaje
  14. Variables.subject = "Formulario desde la web";
  15. //necesario para manejo de variables
  16. var urlRequ:URLRequest = new URLRequest(dominio+FILE);
  17. urlRequ.method = URLRequestMethod.POST;
  18. urlRequ.data = Variables;
  19. //objeto que trae se encarga de enviar y recibir los datos al php
  20. var urlLoad:URLLoader = new URLLoader();
  21. //aqui formateo los resultados recibidos del php en modo variables
  22. urlLoad.dataFormat = dataFormat;
  23. //accion del boton enviar
  24. enviar_btn.addEventListener(MouseEvent.MOUSE_DOWN,enviarForm);
  25. //funcion encargada de enviar los datos al php
  26. function enviarForm(obj:Event) {
  27.     if (patronEmail.test(email_txt.text)==true && nombre_txt.text !="" ) {
  28.         resultado_txt.text ="";
  29.         Variables.Cosulta = consulta_txt.text;
  30.         Variables.email = email_txt.text;
  31.         Variables.Nombre = nombre_txt.text;
  32.         urlLoad.load(urlRequ);
  33.     } else {
  34.         resultado_txt.text="Complete los campos!";
  35.     }
  36. }
  37. //escuchadores de que paso con los datos del lado del servidor
  38. urlLoad.addEventListener(Event.COMPLETE, envioCompleto);
  39. urlLoad.addEventListener(IOErrorEvent.IO_ERROR, errorEnvio);
  40. //si el envio fue correcto
  41. function envioCompleto(obj:Event) {
  42.     //si el php me dio el ok de que fue enviado
  43.     if (urlLoad.data.resultado=="ok") {
  44.         resultado_txt.text="Mensaje enviado";
  45.         consulta_txt.text="";
  46.         email_txt.text ="";
  47.         nombre_txt.text="";
  48.     } else {
  49.         resultado_txt.text="Error al enviar";
  50.     }
  51. }
  52. //si hay problemas con el php
  53. function errorEnvio(obj:Event) {
  54.     resultado_txt.text="Error en el servidor!";
  55. }
  56. //evento para el campo de texto cuando dejan de hacer foco
  57. email_txt.addEventListener(FocusEvent.FOCUS_OUT,verificar);
  58. //verifico si el email es correcto!
  59. function verificar(obj:Event) {
  60.     if (patronEmail.test(email_txt.text)==false) {
  61.         email_txt.text ="*Email incorrecto";
  62.         stage.focus = email_txt;
  63.         var letras:int = email_txt.selectionEndIndex;
  64.         email_txt.setSelection(0,17);
  65.     }
  66. }

Leonardo David Baraldi

Leonardo Baraldi

Nací en Villa Carlos Paz, tengo 33 años y me dedico a desarrollos para la web desde el año 99, preferentemente en las aéreas de ActionScript y CSS. Trabajo para la firma Manifesto Solutions como jefe de producción.

ultimos post

Usa Firefox es mejor che!!!
Copyright © 2008 LeoBaraldi. Todos los derechos reservados.
Designed by LeoBaraldi and powered by Wordpress | RSS Feed
Love WordPress
Manifesto
Manifesto solutions
Sponsort Oficial de LeoBaraldi