Vamos a crear el código estándar que nos permite enviar el formulario.
Antes de enviar los datos, hemos validado los datos como vimos en el punto anterior.
Lo normal, tras rellenar un formulario en una página web, es que esta los envíe a una página dinámica, en PHP o ASP. Esta página se encargará de recoger los datos, volverlos a validar, y hacer lo que corresponda con ellos, como guardarlos en una base de datos, o enviar un correo. Con Flash haremos lo mismo. En nuestro ejemplo, enviaremos los datos a enviarCorreo.php.
Vamos a utilizar tres objetos:
Veamos el código:
//Función que se ejecuta al presionar el botón de envío function enviarDatos(event:MouseEvent):void { System.useCodepage = true;//Esta línea coge la página de carácteres //del sistema, para mostrarlos correctamente //Utilizamos un objeto URLVariables para guardar los datos de nuestros campos. var datosFormulario:URLVariables = new URLVariables(); //Definimos los campos y les agregamos el valor de las cajas de texto. datosFormulario.nombre = txtNombre.text; datosFormulario.apellidos = txtApellidos.text; datosFormulario.email = txtEmail.text; //Con un obj. URLRequest generamos la URL a la que se envían los datos var paginaEnvio:URLRequest=new URLRequest("enviarCorreo.php"); //Indicamos el método de envío y le cargamos misVariables. paginaEnvio.method=URLRequestMethod.POST; paginaEnvio.data=misVariables; //Utilizamos un obj. URLLoader para enviar info. a un archivo externo var cargador:URLLoader = new URLLoader(); //Como siempre, creamos un evento que nos indica si se ha completado //el envío de información, y x tanto se han enviado los datos cargador.addEventListener(Event.COMPLETE, envioCompleto); //Utilizamos el evneto IOErrorEvent.IO_ERROR que se lanza cuando ocurre //un error, por lo que los datos no se han enviado cargador.addEventListener( IOErrorEvent.IO_ERROR, errorEnvio ); //Y para acabar, enviamos los datos caragdor.load(paginaEnvio); } function envioCompleto(event):void { //Si se completa, avisamos del envío y limpiamos campos aviso.text="Envío completo"; txtNombre.text=""; txtApellidos.text=""; txtEmail.text=""; } function errorEnvio(event):void { //Si hay un error, avisamos de ello aviso.text="Se produjo un error, no se ha completado el envío"; } btn_enviar.addEventListener(MouseEvent.CLICK, validaryEnviar); function validaryEnviar(event):void { if (validarDatos()) { //validamos enviarDatos(); //Y si es True, enviamos } }
Podemos ver que para crear las variables en el objeto URLVariables, no tenemos más que escribir el nombre que le queremos dar como una propiedad, y asignarle el valor que queremos guardar en la variable:
datosFormulario.nombre = txtNombre.text; datosFormulario.apellidos = txtApellidos.text; datosFormulario.email = txtEmail.text;
Al objeto URLRequest, le indicamos el nombre de archivo (nuestra página), el método de envío (method), como en los formularios HTML, y los datos (data) que hemos configurado en el objeto URLVariables.
var paginaEnvio:URLRequest=new URLRequest("enviarCorreo.php"); paginaEnvio.method=URLRequestMethod.POST; paginaEnvio.data=misVariables;
Y por último utilizamos el objeto URLLoader para comunicarnos con el archivo cuya ubicación se indica en el objeto URLRequest. Cargamos la información hacia él, y comprobamos si se ha completado el envío o se ha producido un error, para avisar al usuario.
El script enviarCorreo.php se encargaría de recibir los datos, generar el correo y enviarlo.
Nota: Para poder ejecutar una página dinámica, como la que envía el correo en PHP, hay que tener instalado un servidor web en el equipo. Por lo que si no lo tienes, no se enviará el correo, aunque tampoco dará ningún error si se encuentra el archivo.
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.