Unidad 19. Formularios - ActionScript (VI)

19.4. Envío de formularios

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 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íand 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 inidca 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 envio 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('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 envio (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.

Pág. 19.6

Atrás  Inicio  Adelante





Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies


© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.

{cookies_law.style.display='block';}